OpenSSL では、次のコマンドを使用して証明書を確認できます。
$ openssl verify -CApath /etc/ssl/certs cert_to_be_verified.pem
GnuTLS にも同様のコマンドがあるのだろうか。私が見つけることができる最も近いものは「certtool」です。ただし、「certtool」は CA ファイルを指定する必要があり、OpenSSL に比べて非常に不便です。ヒントをありがとう!
OpenSSL では、次のコマンドを使用して証明書を確認できます。
$ openssl verify -CApath /etc/ssl/certs cert_to_be_verified.pem
GnuTLS にも同様のコマンドがあるのだろうか。私が見つけることができる最も近いものは「certtool」です。ただし、「certtool」は CA ファイルを指定する必要があり、OpenSSL に比べて非常に不便です。ヒントをありがとう!
実際、certtool では CA ファイルを指定する必要はありません。代わりに、システムの証明書リストが使用されます。
certtoolのドキュメントから:
信頼できる証明書のリストは、--load-ca-certificate でロードできます。証明書リストが指定されていない場合は、システムの証明書リストが使用されます。検証中に複数のパスが探索される場合があることに注意してください。検証が成功すると、成功したパスが最後のパスになります。--verify-purpose または --verify-hostname と組み合わせることができます。
$ certtool --verify --infile google.com.crt
Loaded system trust (168 CAs available)
Loaded 3 certificates, 168 CAs and 0 CRLs
Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
Issuer: OU=Equifax Secure Certificate Authority,O=Equifax,C=US
Checked against: OU=Equifax Secure Certificate Authority,O=Equifax,C=US
Output: Verified. The certificate is trusted.
Subject: CN=Google Internet Authority G2,O=Google Inc,C=US
Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
Checked against: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
Output: Verified. The certificate is trusted.
Subject: CN=*.google.com,O=Google Inc,L=Mountain View,ST=California,C=US
Issuer: CN=Google Internet Authority G2,O=Google Inc,C=US
Checked against: CN=Google Internet Authority G2,O=Google Inc,C=US
Output: Verified. The certificate is trusted.
Chain verification output: Verified. The certificate is trusted.