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=開発オペレーション 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=開発オペレーション 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=開発オペレーション 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 に答える