Node.js - crypto.js - PFX标题太长了

Joe*_*Joe 6 javascript https pfx node.js

我正在尝试从文件加载PFX和密码,以便我可以发出HTTPS请求.在我开始之前,我已经知道PFX是好的,这不是问题.

我正在做以下事情:

config.options.pfx = fs.readFileSync('file.pfx');
config.options.passphrase = 'passphrase';
Run Code Online (Sandbox Code Playgroud)

我将我的选择传递给代理人.

config.options.agent = new https.Agent(options);
Run Code Online (Sandbox Code Playgroud)

然后我尝试构建rquest,我收到以下错误:

crypto.js:143
      c.context.loadPKCS12(pfx, passphrase);
            ^
Error: header too long
    at Object.exports.createCredentials (crypto.js:143:17)
    at Object.exports.connect (tls.js:1334:27)
    at Agent.createConnection (https.js:79:14)
    at Agent.createSocket (http.js:1293:16)
    at Agent.addRequest (http.js:1269:23)
    at new ClientRequest (http.js:1416:16)
    at Object.exports.request (https.js:123:10)
Run Code Online (Sandbox Code Playgroud)

我从工作存储库中检查了这一点,我知道这适用于它的原始作者.出于某种原因,我的设置没有运行它.

Rei*_*kin 11

我有类似的问题.事实证明我正在使用fs.readFileSync('file.pfx', 'utf8'),这对于PEM文件是正确的,但由于PKCS12文件是二进制的,你应该直接传入fs.readFileSync('file.pfx').