NodeJS检查SSL认证其他主机的有效性

时间:2015-12-18 10:36:27

标签: node.js ssl https

我想从我的服务器检查SSL证书是否在其他服务器/域上有效。有什么方法可以检查这个吗?

我想我需要使用NodeJS的https API,但我不确定。

1 个答案:

答案 0 :(得分:4)

当您使用其https库从NodeJS发出SSL请求时,它将负责验证与其联系的服务器的有效性。

来自NodeJS doc

  

rejectUnauthorized:如果为true,则验证服务器证书   针对提供的CA列表。如果发生'错误'事件   验证失败。验证发生在连接级别,   在发送HTTP请求之前。 默认为true

此外,您可以在响应中声明res.socket.authorized属性:

var https = require('https');

var options = {
  host: 'google.com',
  method: 'get',
  path: '/'
};

var req = https.request(options,
  function (res) {
    console.log('certificate authorized:' + res.socket.authorized);
  });

req.end(); 

您还可以使用res.socket.getPeerCertificate()获取有关服务器证书的详细信息。