簡體   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