gpt4 book ai didi

javascript - 使用椭圆曲线 key 的 Node.js HTTPS 请求

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:33 25 4
gpt4 key购买 nike

我想构建一个连接到需要相互身份验证的 HTTPS 服务器的 HTTPS 客户端。此外,客户端 key 是椭圆曲线 key 而不是 RSA key 。为了支持椭圆曲线 key ,我使用 OpenSSL 1.0.2a 重新编译了 Node.js。

在我的 node.js 程序中,我设置了指定 key 和证书的选项,

var options = {
// These are necessary only if using the client certificate authentication
key: fs.readFileSync('client-key.pem'),
cert: fs.readFileSync('client-cert.pem'),

当我运行它时,我收到此错误:

Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Object.createSecureContext (_tls_common.js:110:19)
at Object.exports.connect (_tls_wrap.js:854:21)
at Agent.createConnection (https.js:84:14)
at Agent.createSocket (_http_agent.js:196:16)
at Agent.addRequest (_http_agent.js:168:23)
at new ClientRequest (_http_client.js:156:16)
at Object.exports.request (http.js:51:10)
at exports.request (https.js:138:15)
...

这表明 Node.js 无法读取 EC key 。此错误消息类似于 openssl 尝试将 key 读取为 X509 证书时的情况:

openssl x509 -text -in sample.key 
unable to load certificate
140735234208608:error:0906D06C:PEM routines:PEM_read_bio:no start
line:pem_lib.c:701:Expecting: TRUSTED CERTIFICATE

如何强制 Node.js 将此 key 加载为 EC key ?

最佳答案

正确配置 openssl 1.0.2a 后,EC key 就会加载。确保 Node.js 的 openssl 版本正确。

关于javascript - 使用椭圆曲线 key 的 Node.js HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377033/

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