【发布时间】:2019-12-18 17:54:25
【问题描述】:
我正在尝试使用 express 在 node.js 中实现对等证书验证。 在生产中我收到错误:EE 证书密钥太弱。
如何更改它以支持弱键? 我不想在代码级别忽略它,因为如果我这样做,它根本不会检查 CA。 在开发服务器中,如果我删除匹配的 CA 证书,我会收到 UNABLE_TO_VERIFY_LEAF_SIGNATURE,而在生产服务器中,我会收到“EE 证书密钥太弱” - 它根本不检查它。
在开发服务器中它工作正常,但在生产服务器中我收到错误。
我无法更改客户端设备上的证书,所以我必须支持弱密钥。
https.createServer({
key: getFile(config.get("ssl_certificate.key")),
cert: getFile(config.get("ssl_certificate.cert")),
ca: [
getCACertFile('ca-crt.pem'), //some certificates
],
requestCert: true,
rejectUnauthorized: false
},app)
在 req.socket.authorizationError 中,我希望收到 null。 在开发服务器中我收到 null,但在生产服务器中我收到“EE 证书密钥太弱”
标准错误:
error: failed to start server: Error: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
at Object.createSecureContext (_tls_common.js:135:17)
at Server (_tls_wrap.js:873:27)
at new Server (https.js:62:14)
at Object.createServer (https.js:85:10)
【问题讨论】:
-
嗨,我试图解决这个问题但失败了。你能和我分享你的最终解决方案吗?
标签: node.js express ssl https openssl