使用CA证书在Express和NodeJS中使用Passport进行ldaps时出错

时间:2016-07-12 18:52:29

标签: node.js ldap passport.js

我在NodeJS中使用Express与Express对我的应用程序使用LDAP身份验证,我收到错误:

events.js:154
  throw er; // Unhandled 'error' event
  ^

Error: unable to verify the first certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1065:38)
    at emitNone (events.js:80:13)
    at TLSSocket.emit (events.js:179:7)
    at TLSSocket._init.ssl.onclienthello.ssl.oncertcb.TLSSocket._finishInit (_tls_wrap.js:593:8)
    at TLSWrap.ssl.onclienthello.ssl.oncertcb.ssl.onnewsession.ssl.onhandshakedone (_tls_wrap.js:425:38)

我在配置文件中有所有ldap选项,然后我添加ca之类的东西:

opts.tlsOptions.ca = [fs.readFileSync('./config/ldap.pem')];
passport.use(new LdapStrategy({server: opts}));

我用Google搜索了错误并在此处找到了以下答案:Error: unable to verify the first certificate in nodejs所以我在初始化ldap之前添加了以下内容:

require('ssl-root-cas').addFile('./config/ldap.pem');

然而,这个解决方案对我来说根本不起作用。我没办法。我真的希望有人能看出我做错了什么。

1 个答案:

答案 0 :(得分:0)

事实证明我提供了错误的证书,结果就是这样。我得到了正确的证书,这个错误已经停止,一切正常。