LoginSignup
16
17

More than 5 years have passed since last update.

SSL証明書の有効期限を確認するシェルスクリプトワンライナー

Posted at

経緯

こちらの投稿 から派生。

変更点

  • 一時ファイルを経由しないワンライナー化。
  • タイムゾーン変更に対応。
  • opensslのクライアントアクセスコマンドオプションに -servername を追加してSNI対応。
    • 後述のMuninプラグインでやってた変更を参考にした。

内容

有効期限を確認する

タイムゾーンを変えたい場合は環境変数TZを変更
DOMAIN='example.com'; TZ=JST-9 date +"%Y-%m-%d %H:%M:%S" --date="`openssl s_client -connect ${DOMAIN}:443 -servername ${DOMAIN} </dev/null 2>/dev/null | openssl x509 -enddate -noout | cut -d'=' -f2`"

残り日数を表示するなら…

DOMAIN='example.com'; date +"%s" --date="`openssl s_client -connect ${DOMAIN}:443 -servername ${DOMAIN} </dev/null 2>/dev/null | openssl x509 -enddate -noout | cut -d'=' -f2`" | gawk '{printf("%d\n",($0-systime())/86400-1/86400+1)}'

Muninで記録しておけばいいんじゃね?

上記コマンドをもとに自作しようとも考えたが、探すと既に存在した。
https://github.com/munin-monitoring/contrib/blob/master/plugins/ssl/ssl_


余談

今回、派生ネタを投稿して感じたことだけど、QiitaにはPull-Reqっぽい「編集リクエスト」機能はあるけど、それって当該情報の改訂提案だから、今回のようなものだとちょっと違うかと思って使えなかった。

どうせならFork機能か、あるいは関連付けができる機能が欲しいところ。

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17