mac verify failure using Node with ssl certificate

21,827

well in the pfx case you should add the option

passphrase: 'password'
Share:
21,827
eKelvin
Author by

eKelvin

Updated on December 20, 2020

Comments

  • eKelvin
    eKelvin over 3 years

    as specified in the Node api doc I tried the first one with a self created and signed cert using openssl. Everything was going fine except the fact that the couldn't test the client side from an android because it was needed a ca certificate. When I try the second method (that with pfx and not with key,cert) https.createserver throws an error

    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)
    

    code from 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);
    
  • elephant.lyh
    elephant.lyh about 9 years
    in case you are searching for the sample apnagent sample for node.js implementation in mac, like me, the original sample file is not complete by only setting agent.set('pfx file', pfx); , you need to also add one line as : agent.set("passphrase",<you p12 file password>); to avoid the mac verify failure
  • Coreus
    Coreus over 8 years
    Here are the related docs for the params: nodejs.org/api/…