macvalidation失败使用节点与SSL证书

正如Node api文档中所指定的那样,我使用openssl自己创build并签署了一个cert来尝试第一个。 一切都很好,除了不能从androidtesting客户端的事实,因为它需要一个CA证书。 当我尝试第二个方法(用pfx而不用key,cert)时,https.createserver会抛出一个错误

crypto.js:145 c.context.loadPKCS12(pfx); ^ Error: mac verify failure at Object.exports.createCredentials (crypto.js:145:17) at Server (tls.js:1130:28) at new Server (https.js:35:14) at Object.exports.createServer (https.js:54:10) at Object.<anonymous> (C:\iTollonServer\iTollonServer\iTollonServer\app.js:105:7) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) 

来自Node Api的代码:

 // curl -k https://localhost:8000/ var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); Or var https = require('https'); var fs = require('fs'); var options = { pfx: fs.readFileSync('server.pfx') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); 

在pfx的情况下,你应该添加选项

 passphrase: 'password'