gpt4 book ai didi

node.js - 如何信任使用 https 的自签名证书?

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

编辑:我原本以为服务器的证书是自签名的。原来它是由自签名 CA 证书签名的。

我正在尝试编写一个 Node.js 应用程序来访问一个 HTTPS 站点,该站点使用由私有(private)自签名 CA 证书签名的自签名证书 证书进行保护。我还想完全禁用证书检查。

我尝试将自签名证书 服务器的证书放在请求选项中,但这似乎不起作用。有人知道怎么做吗?

我希望以下代码打印 statusCode 200,但它却打印了 [Error: SELF_SIGNED_CERT_IN_CHAIN]

我用 request 尝试过类似的代码结果相同。

var https = require('https');
var fs = require('fs');

var opts = {
hostname: host,
port: 443,
path: '/',
method: 'GET',
ca: fs.readFileSync(serverCertificateFile, 'utf-8')
};

var req = https.request(opts, function (res) {
console.log('statusCode', res.statusCode);
});

req.end();
req.on('error', function (err) {
console.error(err);
});

最佳答案

错误 [Error: SELF_SIGNED_CERT_IN_CHAIN] 是这里发生的事情的线索。

这表明 HTTPS 服务器的证书是由自签名证书签名的,而不是它本身就是自签名证书。如果服务器证书是自签名的,则错误将是 [Error: DEPTH_ZERO_SELF_SIGNED_CERT]

如果您提供 CA 证书而不是服务器的证书,它应该可以工作。

关于node.js - 如何信任使用 https 的自签名证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24142543/

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