据我所知,如果主机名或IP是证书的alt名称的一部分,则默认情况下nodejs ssl / tls请求执行检查。
其中一个解决方法是,在options对象中,您可以覆盖checkServerIdentity
函数,使其看起来像这样
var options = {
url: 'https://localhost:8000/',
ca: fs.readFileSync(caFile),
checkServerIdentity: function (host, cert) {
return undefined;
}
};
现在在我的情况下,我并不关心服务器的主机名,只要它具有由我信任的CA(使用option.ca
属性设置)签名的证书。
我的问题是,以这种方式覆盖此功能是否也会删除签名检查?如果它确实如何实现它,那么我只能检查证书是否由CA签名?
答案 0 :(得分:1)
答案是否定的,但事实并非如此。它仍会检查证书是否由您提供的CA签名。