ここに保存されているrsaキー、CAバンドル、および証明書が正常であることを検証/検証しようとしています。Webサーバーによって提供されていません。どうすればそれらを確認できますか?
ここに保存されているrsaキー、CAバンドル、および証明書が正常であることを検証/検証しようとしています。Webサーバーによって提供されていません。どうすればそれらを確認できますか?
回答:
証明書がPEM形式であると仮定すると、次のことができます。
openssl verify cert.pem
「ca-bundle」が追加の中間証明書をPEM形式で含むファイルの場合:
openssl verify -untrusted ca-bundle cert.pem
インストールされているルート証明書のセット(など/etc/ssl/certs
)を自動的に使用するようにopensslがセットアップされていない場合は、-CApath
または-CAfile
を使用してCAを指定できます。
-CApath nosuchdir
場合は、server.crtとcacert.pemの組み合わせにルートCAを含める必要があります。opensslがそれらのファイルを使用して中間CAまでしか機能しない場合、文句を言います。
/certs/
。これは問題を引き起こしますか?サーバーが動作する状況でimがスタックするため、http curlは動作しますが、https .. curlはエラーを受け取ります。ウェブサイトが機能しなくなった場所。
証明書チェーンを確認するためのワンライナーは次のとおりです。
openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem
これは、CAをどこにもインストールする必要はありません。
詳細については、https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-workを参照してください。
-CApath nosuchdir
これを回答に追加しました。ありがとうございました。
-CAfile
自体が単なる中間証明書である場合、opensslは文句を言います。verify
ルートCAまでの完全なチェーンが必要なため、これは正しい動作ですが、誤解を招く可能性があります。
OpenSSL 1.1.1 11 Sep 2018
)では、引数を-CApath
既存のディレクトリにする必要があります。
openssl x509
マニュアルのセクションをご覧ください。