サーバ証明書の有効期限を調べるコマンド

opensslコマンドで以ってサーバ証明書の有効期限を詳らかにするならこういう具合である。

$ sudo su -c "openssl x509 -dates -noout </etc/letsencrypt/live/www7390uo.sakura.ne.jp/cert.pem" | grep After
notAfter=Nov  5 23:18:58 2020 GMT

出力結果から有効期限の残り日数を導こうとするならば、もうひと手間かけねばならないとおもって取り組んだ成果がこうである。

!/bin/bash -eu

CERTPATH='/etc/letsencrypt/live/backtick.dip.jp/cert.pem'
EXPIRATION=$(sudo su -c "openssl x509 -dates -noout <${CERTPATH}" | grep After | cut -d= -f2)
END=$(date +%s --date "${EXPIRATION}")
NOW=$(date +%s)

echo $(( ("${END}" - "${NOW}") / 86400 ))

込み入っていて大変煩雑であるから工夫を凝らす余地が残されていると思うけれども思うばかりで詮無きことである。Let’s Encryptの証明書に限ればcertbotコマンドで以って有効な日数のみを得ることができる。

$ sudo certbot certificates 2>/dev/null | grep VALID | awk '{print $6}'
40

参考:
How to find Certifications Expiry Date

Similar Posts:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください