【问题标题】:NodeJS check validity of SSL certification other hostNodeJS检查SSL认证其他主机的有效性
【发布时间】:2015-12-18 10:36:26
【问题描述】:

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

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

【问题讨论】:

    标签: node.js ssl https


    【解决方案1】:

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

    来自NodeJS doc

    rejectUnauthorized:如果为true,则验证服务器证书 根据提供的 CA 列表。如果出现“错误”事件,则会发出 验证失败。验证发生在连接级别, 在发送 HTTP 请求之前。 默认为真

    此外,您可以在响应中声明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() 获取有关服务器证书的详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2021-05-11
      • 1970-01-01
      相关资源
      最近更新 更多