NodeJS TLS Hostname/IP 与证书的别名不匹配
NodeJS TLS Hostname/IP doesn't match certificate's altnames
据我了解,nodejs ssl/tls 请求实现默认检查主机名或 IP 是否是证书的替代名称的一部分。
解决方法之一是在选项对象中您可以重写 checkServerIdentity
函数,这样它看起来像这样
var options = {
url: 'https://localhost:8000/',
ca: fs.readFileSync(caFile),
checkServerIdentity: function (host, cert) {
return undefined;
}
};
现在在我的例子中,我并不真正关心服务器的主机名,只要它有一个由我信任的 CA 签名的证书(使用 option.ca
属性 设置) .
我的问题是,以这种方式覆盖此功能是否也会删除签名检查?如果确实如此,我应该如何实现它,以便我只能检查证书是否由 CA 签名?
答案是否定的,事实并非如此。它还会检查证书是否由您提供的 CA 签名。
据我了解,nodejs ssl/tls 请求实现默认检查主机名或 IP 是否是证书的替代名称的一部分。
解决方法之一是在选项对象中您可以重写 checkServerIdentity
函数,这样它看起来像这样
var options = {
url: 'https://localhost:8000/',
ca: fs.readFileSync(caFile),
checkServerIdentity: function (host, cert) {
return undefined;
}
};
现在在我的例子中,我并不真正关心服务器的主机名,只要它有一个由我信任的 CA 签名的证书(使用 option.ca
属性 设置) .
我的问题是,以这种方式覆盖此功能是否也会删除签名检查?如果确实如此,我应该如何实现它,以便我只能检查证书是否由 CA 签名?
答案是否定的,事实并非如此。它还会检查证书是否由您提供的 CA 签名。