証明書周りの確認をコマンドで行う方法とその結果に関する忘備録
コマンド
openssl s_client -connect d0something.com:443 -servername d0something.com -showcerts
- openssl s_client
SSL/TLS通信のテストのを行うためのコマンド - connect d0something.com:443
指定したホストとポートに接続(ここでは d0something.com の 443 ポート) - servername d0something.com
サーバーが複数の証明書を保つ場合は SNI (Server Name Indication) を指定する - showcerts: 証明書チェーンを全て表示する
実行結果
# openssl s_client -connect d0something.com:443 -servername d0something..com -showcerts
Connecting to 13.112.16.200 //接続先の IP
CONNECTED(00000005) //接続が成功。括弧内は OpenSSL 内部のソケットハンドル番号。
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=E7
verify return:1
depth=0 CN=d0something.com
verify return:1
---
- Connecting to 13.112.16.200
接続先の IP - CONNECTED(00000005)
接続が成功。括弧内は OpenSSL 内部のソケットハンドル番号。 - depth=2
証明書の階層(今回はルートが最上位で 2、次が中間 CA、最後がサーバー証明書) - C=US, O=Internet Security Research Group, CN=ISRG Root X1
C は国、O は 組織、OU は組織単位、CN は Common Name - verify return:1
証明書検証が成功(1 = 成功、0 = 失敗)
実行結果 (続き)
Certificate chain
0 s:CN=d0something.com
i:C=US, O=Let's Encrypt, CN=E7
a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA384
v:NotBefore: Sep 2 07:37:18 2025 GMT; NotAfter: Dec 1 07:37:17 2025 GMT
-----BEGIN CERTIFICATE-----
略
-----END CERTIFICATE-----
- s
Subject (証明書の持ち主情報) - i
Issuer (ここでは中間 CA が発行者) - a
公開鍵の種類と長さ(RSA 2048bit)、署名アルゴリズム(SHA-256 + RSA) - v:NotBefore / NotAfter
証明書の有効期限(開始日 / 終了日)