証明書ファイルなどを確認するコマンド諸々
歳を取ると、いろんな形式の証明書ファイルや、サーバーにアクセスしての証明書の検証方法など、コマンドをすぐに忘れて、そのたびにググるということを繰り返しているので、とりあえず思いついたものを整理しておくテスト。
用語などは適当かもですが、その辺はご容赦を・・・
PEM形式の証明書
以下のような形式のファイルです。
-----BEGIN CERTIFICATE----- ~~~ -----END CERTIFICATE-----
Let's Encryptのcertbotで生成した証明書の表示コマンド例。
openssl x509 -text -noout < /etc/letsencrypt/live/xxx/cert.pem openssl x509 -text -noout < /etc/letsencrypt/live/xxx/chain.pem
Javaのキーストアファイル
例えば「/etc/pki/java/cacerts」とか「/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/lib/security/cacerts」に置いてあるファイルです。
keytool -storepass changeit -list -keystore /etc/pki/java/cacerts
PKCS12形式の証明書
Tomcatなんかで使いますね。そもそもTomcatをフロントエンド(略)
keytool -storepass changeit -list -v -storetype PKCS12 -keystore hoge.p12
openssl pkcs12 -in ssl/ks-lets202003.p12 -nodes -passin pass:changeit | openssl x509 -text
サーバー証明書チェインの確認
実際にサーバーにアクセスして、証明書チェインに問題がないかを確認する方法です。
cat /dev/null | openssl s_client -connect server_host_name:443 -showcerts cat /dev/null | openssl s_client -connect server_host_name:21 -starttls ftp -showcerts