linux Openssl:错误“证书链中的自签名证书”

czfnxgou  于 2022-11-28  发布在  Linux
关注(0)|答案(5)|浏览(417)

当我使用openssl API来验证服务器证书(自签名)时,我收到以下错误:
1深度查找处的错误19:证书链中的自签名证书
根据openssl documentation,此错误(19)为
“X509错误自签名证书链:证书链中的自签名证书-可以使用不受信任的证书构建证书链,但在本地找不到根证书。”
为什么会出现此错误?我的服务器证书有问题吗?

hmae6n7t

hmae6n7t1#

你有一个自签名的证书,所以默认情况下它是 * 不可信的 *,这就是OpenSSL抱怨的原因。这个警告实际上是一件好事,因为这种情况也可能由于man-in-the-middle attack而出现。
若要解决此问题,您需要将它安装为受信任的服务器。如果它是由不受信任的CA签署的,您还必须安装该CA的证书。
查看此链接了解如何安装自签名证书。

q3qa4bjr

q3qa4bjr2#

下面是验证由特定CA签名的证书的一行代码:
openssl verify -verbose -x509_strict -CAfile ca.pem certificate.pem
这不需要在任何地方安装CA。
有关详细信息和正确的证书链处理,请参阅How does an SSL certificate chain bundle work?

0pizxfdo

0pizxfdo3#

如果您正在运行Charles并尝试构建docker容器,则很可能会出现此错误。
确保禁用proxy -> macOS proxy下的Charles(macos)代理
查尔斯是一个
HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。
因此,任何类似的问题都可能导致相同的问题。

jucafojl

jucafojl4#

错误的解决方案是在代码的顶部添加以下行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
3gtaxfhh

3gtaxfhh5#

如果您正在使用Postman测试您的端点,只需转到设置并禁用“启用SSL证书验证”

相关问题