証明書の有効期限を調べる。
openssl コマンドでサクッと証明書の期限を調べる。
枚数が多くなり、またcertbotのような管理ソフトがない、CA発行証明書の有効期限をまとめて調べたい。
20枚もあるといちいち、ブラウザに突っ込んで調べるのは面倒くさい
openssl で証明書の期限を見る
openssl x509 -noout -enddate -in /path/to/xxx.cert
openssl で証明書の詳細を見る。
期限以外の詳細を確認する。
openssl x509 -noout -text -in /path/to/xxx.cert
SAN / subjectAltName を確認する
openssl x509 -noout -ext subjectAltName -in /path/to/xxx.cert
CN / subject commonName を確認する
openssl x509 -noout -subject -in /path/to/xxx.cert
SN / serial Number (シリアル)を確認する。
openssl x509 -noout -serial -in /path/to/xxx.cert
サーバー証明書を直接確認する。
openssl s_client -connect example.com:443 < /dev/null 2> /dev/null |\ openssl x509 -noout -enddate | \
openssl s_client で接続して、証明書取得し、有効期限を確認する。
スクリプトにまとめる。
#!/usr/bin/env domain="example.tld" openssl s_client -connect $domain:443 < /dev/null 2> /dev/null |\ openssl x509 -noout -enddate | \ sed 's/notAfter=//' | \ xargs -i date -d {} +"%F"
日付形式をdate でフォーマットして、サクッと証明書の有効期限を見る。
SSL/TLSの証明書期限切れをチェックするように、自動スクリプトに仕込んで、通知と併せて使うといい。
check_expires example.tld && mailto takuya 'example.tld will expire.'
改訂
- 2023-02-18 OpenSSLコマンドのオプションを修正。SAN・CNの取得方法も追加