【发布时间】:2017-10-08 21:19:33
【问题描述】:
我正在尝试使用 node.js 检查外部域的 SSL 状态。它适用于使用google.com 的测试。但是,当我尝试一个我知道有无效 SSL 证书(在这种情况下被撤销)的 url 时,res.socket.authorized 的值仍然是true
是我用错了还是有更好的方法来验证域的 SSL 证书的状态?
const https = require('https');
const options = {
host: 'revoked.badssl.com',
method: 'get',
path: '/'
};
const req = https.request(options, res => {
console.log('Certificate Status: ', res.socket.authorized);
});
req.on('error', error => {
console.error('Error: ', error);
});
req.end();
【问题讨论】:
-
如果您的 SSL 主机在其他方面有效但被撤销,我认为节点不会进行主动 CRL 检查?很确定您需要通过
crl选项 nodejs.org/api/tls.html#tls_tls_createsecurecontext_options 向客户端提供 CRL
标签: javascript node.js ssl https