意外とSSL証明書の有効期限をコマンドラインで取得する方法が見つかりにくかったので書いてみる。
運用担当さんが複数のSSL証明書の期限管理などを機械的に実施したい場合に便利かも。
opensslコマンドを使って以下の様にすると${DOMAIN}のSSLを${CERT}というファイル名で取得します。
次のdateコマンドは、処理しやすいように証明書期限の日付を取ってくる例です。
openssl s_client -connect ${DOMAIN}:443 </dev/null > ${CERT} 2>/dev/null
date +%Y%m%d --date="`openssl x509 -text -in ${CERT} | sed -e "/Not After/{s/^.* : //;p};d"`"