验证nodejs中的ssl证书

时间:2013-08-31 18:12:49

标签: node.js ssl https

如何通过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是自签名证书,因此上面的代码应该在冲浪期间引发错误。但没有任何反应。

1 个答案:

答案 0 :(得分:0)

从文档中: rejectUnauthorized:如果true,则验证服务器证书   提供的CA列表。如果验证,则会发出'error'个事件   失败。验证发生在连接级别,之前 HTTP   请求已发送。默认true

我想你需要指定一个CA列表或忽略该选项。