【问题标题】:Verify ssl certificate in nodejs在nodejs中验证ssl证书
【发布时间】:2013-08-31 18:12:48
【问题描述】:

如何通过 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 是自签名认证的,所以上面的代码应该在冲浪过程中引发错误。但是什么也没发生。

【问题讨论】:

  • 您查看request 的选项了吗? nodejs.org/docs/v0.7.8/api/… rejectUnauthorized 根据 CA 列表验证证书。
  • @WiredPrairie:是的,但这对我不起作用。问题已编辑。

标签: node.js ssl https


【解决方案1】:

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

我猜你需要指定一个 CA 列表,否则该选项会被忽略。

【讨论】:

猜你喜欢
  • 2017-06-13
  • 2019-03-29
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
  • 2015-05-19
  • 1970-01-01
相关资源
最近更新 更多