Openssl证书链

Openssl证书链,ssl,https,openssl,x509,pki,Ssl,Https,Openssl,X509,Pki,执行命令: openssl s_client -connect (redacted):443 我得到了输出 depth=1 C = US, O = Let's Encrypt, CN = R3 verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 CN = *.(redacted) verify return:1 --- Certificate chain 0 s:CN = *.

执行命令:

openssl s_client  -connect (redacted):443
我得到了输出

depth=1 C = US, O = Let's Encrypt, CN = R3
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = *.(redacted)
verify return:1
---
Certificate chain
 0 s:CN = *.(redacted)
   i:C = US, O = Let's Encrypt, CN = R3
 1 s:C = US, O = Let's Encrypt, CN = R3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
“无法获取本地颁发者证书”错误是什么意思?从上面我可以看到完整的链在那里,并且根CA“DST root CA X3”签署了“R3”证书。所以肯定不需要显式信任R3证书吗?这够好吗? 这是否值得关注

验证错误:num=20:无法获取本地颁发者证书

从叶(服务器证书)通过中间链证书(R3)的信任链必须以本地受信任的根CA(DST根CA X3)结束。显然,此根CA在openssl安装程序使用的CA存储中不受本地信任(或者您可能明确使用了
-CApath
-CAfile

验证错误:num=20:无法获取本地颁发者证书


从叶(服务器证书)通过中间链证书(R3)的信任链必须以本地受信任的根CA(DST根CA X3)结束。显然,此根CA在openssl安装程序使用的CA存储中不受本地信任(或者您可能明确使用了
-CApath
-CAfile
)。

谢谢。这对我来说是非常意外的,因为它是一个非常常见的根CA,几乎被普遍信任。起初,我对这里的“verify return:1”和“verify error”@user98651似乎有冲突的信息感到困惑:我想问题在于您的系统或openssl的设置。对我来说,这个CA位于Ubuntu 20.04中OpenSSL使用的默认信任存储中,它可以毫无问题地进行验证。请注意,例如在Windows上,OpenSSL将不使用系统信任存储,但需要自己的系统信任存储—如果设置不正确,它将像您的问题一样失败。这对我来说是非常意外的,因为它是一个非常常见的根CA,几乎被普遍信任。起初,我对这里的“verify return:1”和“verify error”@user98651似乎有冲突的信息感到困惑:我想问题在于您的系统或openssl的设置。对我来说,这个CA位于Ubuntu 20.04中OpenSSL使用的默认信任存储中,它可以毫无问题地进行验证。请注意,例如在Windows OpenSSL上,它不会使用系统信任存储,但需要自己的系统信任存储。如果设置不正确,它将像您的问题一样失败