[英]node JS unable to verify the first certificate
我必須從某人設置的服務器獲取令牌,但是當我嘗試獲取它時,我得到“錯誤:無法驗證第一個證書”。 我瀏覽了 web 尋找答案,發現了一些關於 globalAgent 的信息,但我不知道如何在我的代碼中實現它。 一些幫助將不勝感激。 這是我的代碼:
var request = require('request');
var options = {
url: 'NEEDED_URL',
method: 'POST',
headers: {'content-type': 'application/x-www-from-urlencoded'},
data: {
grant_type: 'client_credentials',
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
scope: 'YOUR_SCOPE'
}
};
function callback(error, body) {
if (!error) {
console.log(body);
}
else {
console.log("error: " + error);
}
}
request(options, callback);
NodeJS 使用自己的信任庫,與操作系統的信任庫分開。 一些服務器使用 NodeJS 不信任的根證書,在這種情況下,您需要設置 NODE_EXTRA_CA_CERTS 環境變量,並添加證書頒發者的公鑰。
例如,我的 MacOS 系統的 .zprofile 文件中有這樣一行,代表一個證書包:
export NODE_EXTRA_CA_CERTS=/Users/gary/certs/trusted.ca.pem
文件本身看起來像這樣(為清楚起見縮短了)。 僅當使用其中一種有效時才需要這樣做:
更多信息請參閱我關於開發人員 SSL 信任故障排除的博文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.