📜
【SSL/TLS】サーバー証明書の種類と期限を確認したい
対象読者
- 証明書チェーンを確認したい
- 証明書の期限を確認したい
証明書チェーンと期限を確認
以下のコマンドで証明書のチェーンと証明書の期限を確認することができます。
HTTPS
# ドメイン名は、確認したいサーバーのドメイン名を入力してください
openssl s_client -connect <ドメイン名>:443 -showcerts | openssl x509 -text -enddate | grep -e DNS -e notAfter
例として、example.comの証明書を確認してみる。
# 例:example.com
openssl s_client -connect example.com:443 -showcerts | openssl x509 -text -enddate | grep -e DNS -e notAfter
# 結果
depth=2 C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
verify return:1
depth=1 C=US, O=DigiCert Inc, CN=DigiCert TLS RSA SHA256 2020 CA1
verify return:1
depth=0 C=US, ST=California, L=Los Angeles, O=Internet Corporation for Assigned Names and Numbers, CN=www.example.org
verify return:1
DNS:www.example.org, DNS:example.net, DNS:example.edu, DNS:example.com, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net
notAfter=Feb 13 23:59:59 2024 GMT
利用するルート証明書を指定する方法
-CAfile
オプションでルート証明書のパスを指定することで、利用するルート証明書を指定しての証明書確認ができる。
# -CAfile <ルート証明書のパス>
openssl s_client -connect <ドメイン名>:443 -CAfile <ルート証明書のパス> -showcerts | openssl x509 -text -enddate | grep -e DNS -e notAfter
実際のサーバー名とドメイン名が異なる場合
-servername
オプションでサーバー名を指定できる
openssl s_client -connect <ドメイン名>:443 -servername <サーバー名> -showcerts | openssl x509 -text -enddate | grep -e DNS -e notAfter
FTPS
FTPSの証明書を確認する方法は以下
openssl s_client -connect <ドメイン名>:21 -showcerts -starttls ftp | openssl x509 -text -enddate | grep -e DNS -e notAfter
s_clientオプションの調べ方
openssl s_client -help
Discussion