当我使用openssl API验证服务器证书(自签名)时,我收到以下错误:
错误19在1深度查找:证书中的自签名证书 链
根据openssl documentation,此错误(19)是
“X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:自签名证书 证书链 - 证书链可以使用 不受信任的证书,但无法在本地找到根。“
为什么会出现此错误?我的服务器证书有问题吗?
答案 0 :(得分:11)
你有一个自签名的证书,默认情况下它是不可信任的,这就是OpenSSL抱怨的原因。这个警告实际上是一件好事,因为这种情况也可能因man-in-the-middle attack而上升。
要解决此问题,您需要将其安装为受信任的服务器。如果它由不受信任的CA签名,您还必须安装该CA的证书。
查看有关安装自签名证书的this link。
答案 1 :(得分:8)
这是验证证书链的单行程序:
openssl verify -verbose -x509_strict -CAfile ca.pem cert_chain.pem
这不需要在任何地方安装CA.
答案 2 :(得分:0)
该错误的解决方案是在代码顶部添加以下行:
globals
答案 3 :(得分:0)