gpt4 book ai didi

node.js - https.createServer 错误 : SSL_CTX_use_certificate: ca md too weak

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:29 26 4
gpt4 key购买 nike

我正在尝试使用 express 在 node.js 中实现对等证书验证。在生产中我收到错误:EE 证书 key 太弱。

如何更改它以支持弱键?我不想在代码级别忽略它,因为如果我这样做,它根本不会检查 CA。在开发服务器中,如果我删除匹配的 CA 证书,我会收到 UNABLE_TO_VERIFY_LEAF_SIGNATURE,而在生产服务器中,我会收到“EE 证书 key 太弱”——它根本不会检查它。

在开发服务器中它工作正常,但在生产服务器中我收到错误。

我无法在客户端设备上更改证书,所以我必须支持弱 key 。

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 证书 key 太弱”

标准错误:

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 v10.0.0 Release News

Dependencies
V8 has been updated to 6.6. [9daebb48d6]
OpenSSL has been updated to 1.1.0h. [66cb29e646]

如果您使用的是 Node.js>=10.0.0,如果证书是由 sha1 或 md5 加密的,它将引发异常。

  • 生成新证书 encrypted by sha256将解决服务器上的问题。

  • 但在您的情况下,由于证书已用于设备连接到服务器,您可以简单地 use Node.js<10.0.0 (例如:v8.x)启动服务器。

此外,建议使用nvm来控制Node.js的版本。

nvm use v8.x.x
node server.js

关于node.js - https.createServer 错误 : SSL_CTX_use_certificate: ca md too weak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57456325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com