我有一个端点(用任何语言,比方说Python),它使用由任何广为人知和受信任的CA颁发的证书将某些服务公开为HTTPS,即 可能几乎包括在世界上任何浏览器中。
最简单的部分是我可以使用Node.js针对此端点发出TLS请求而没有其他问题。
出于安全原因,我想检查每次我的Node.js发出针对此HTTPS端点的TLS请求时,我想确保使用的证书是我信任的证书,以及我的公司要求。
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
听起来How to get SSL certificate information using node.js?的答案适合您的需要。
您可以使用以下代码获取端点的证书,然后根据您的预期检查其指纹或散列。
var https = require('https');
var options = {
host: 'google.com',
port: 443,
method: 'GET'
};
var req = https.request(options, function(res) {
console.log(res.connection.getPeerCertificate());
});
req.end();