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

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

コメントする

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