繁体   English   中英

错误:自签名证书,node.JS https 客户端证书认证请求

[英]Error: Self-signed certificate, node.JS https client certificate authentication with request

我想请教您对以下内容的了解:使用 nodeJS,我正在尝试在我的服务器(在这种情况下充当客户端)和外部服务器之间建立 https 连接。 我们要使用客户端证书验证,外部服务器提供了自签名的 private.key 和 client.crt 证书。 我的代码如下:

router.get('/mywebhook', function (req, res) {
console.log('/mywebhook');
var request = require("request");
//var options;
var options = { method: 'GET',
    url: 'https://externalserverURL'
    ,cert: fs.readFileSync('certs/client_crt.pem')
    ,key: fs.readFileSync('certs/key.pem')
}


request(options, function (error, response, body) {
    if (error){
        //throw new Error(error);
        console.log(error);
        return res.end(error); 
    }
    console.log('all ok')
    return res.end(body);
});

});

我得到了以下错误:错误:自签名证书代码:'DEPTH_ZERO_SELF_SIGNED_CERT'

设置 sst-strict = false 是我想避免的。 我错过了什么吗? 有什么帮助吗?

您可以向服务器添加额外的根证书,也可以使用环境变量进行节点特定配置。

  • 为了让 Node 识别您的自签名证书,您可以使用 NODE_EXTRA_CA_CERTS 环境变量,方法是提供文件的路径 extra-ca-certs.pem 文件将使节点添加它们:
env NODE_EXTRA_CA_CERTS=./rootCA.crt node client.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM