如何通过NodeJS验证给定域的https上的SSL证书?
我需要知道用户是否打开它,如果它是受信任的还是应该将其添加为异常?
-
我认为此代码在未签名或自签名证书期间会引发错误。
var https = require('https');
var options = {
host: 'daarkoob.ir',
port: 2222,
path: '/',
method: 'GET',
rejectUnauthorized:true
};
var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
});
req.end();
req.on('error', function(e) {
console.error(e);
});
https://daarkoob.ir:2222是自签名证书,因此上面的代码应该在冲浪期间引发错误。但没有任何反应。
答案 0 :(得分:0)
从文档中:
rejectUnauthorized
:如果true
,则验证服务器证书
提供的CA列表。如果验证,则会发出'error'
个事件
失败。验证发生在连接级别,之前 HTTP
请求已发送。默认true
。
我想你需要指定一个CA列表或忽略该选项。