3

我正在使用 openssl 来验证证书,但似乎在一种情况下,即使浏览器认为证书有效,它也无法验证证书。

openssl s_client -connect test.uk.example.com:443
+ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
depth=0 /C=GB/ST=CB/L=Cambridge/O=acme Systems Inc./OU=Development Operations acme/CN=acme.com/CN=*.acme.com/CN=*.uk.acme .com/CN=*.acme.com/CN=*.vmd.acme.com/CN=*.acme.net/CN=*.eng.acme.net
验证错误:num=20:无法获取本地颁发者证书
验证返回:1
depth=0 /C=GB/ST=CB/L=Cambridge/O=acme Systems Inc./OU=Development Operations acme/CN=acme.com/CN=*.acme.com/CN=*.uk.acme .com/CN=*.acme.com/CN=*.vmd.acme.com/CN=*.acme.net/CN=*.eng.acme.net
验证错误:num=27:证书不受信任
验证返回:1
depth=0 /C=GB/ST=CB/L=Cambridge/O=acme Systems Inc./OU=Development Operations acme/CN=acme.com/CN=*.acme.com/CN=*.uk.acme .com/CN=*.acme.com/CN=*.vmd.acme.com/CN=*.acme.net/CN=*.eng.acme.net
验证错误:num=21:无法验证第一个证书
验证返回:1

浏览器正确验证了相同的证书。

我应该如何调用 oepnssl 以确保验证通过?

4

1 回答 1

3

最可能的原因是 OpenSSL 尚未配置或找不到用于验证证书路径的信任锚列表。

-CApath您可以使用或显式传递它们-CAfile

于 2012-10-23T15:09:42.733 回答