シェル芸で指定したURLのSSL証明書の期限があと何日あるか調べる

監視周りの設定をやっていた際、対象URLの証明書日数が迫ってきたらアラート出すように設定をしていたのだけど、日数ならシェル芸で取れるなと思ったので備忘として残しておく。
以下のように、opensslコマンドでサイトにアクセスして直接証明書を取得し、そこから期日を取ってきて日付計算をすればいい。

echo|openssl s_client -connect ドメイン名:443 2>/dev/null|openssl x509 -noout -enddate|cut -d= -f 2-|xargs -I@ bash -c 'echo $((($(date +%s -d "@")-$(date +%s))/(60 * 60 * 24)))'
Sponsored Links

blacknon@BS-PUB-DEVELOP:~$ echo|openssl s_client -connect orebibou.com:443 2>/dev/null|openssl x509 -noout -enddate
notAfter=Jan 17 23:59:59 2019 GMT
blacknon@BS-PUB-DEVELOP:~$ echo|openssl s_client -connect orebibou.com:443 2>/dev/null|openssl x509 -noout -enddate|cut -d= -f 2-
Jan 17 23:59:59 2019 GMT
blacknon@BS-PUB-DEVELOP:~$ echo|openssl s_client -connect orebibou.com:443 2>/dev/null|openssl x509 -noout -enddate|cut -d= -f 2-|xargs -I@ bash -c 'echo $((($(date +%s -d "@")-$(date +%s))/(60 * 60 * 24)))'
425

 

とりあえず、このブログの証明書はまだしばらく持ちそうだ(´・ω・`)。
ドメインについては、種類(.comとか.jpとか)で出力形式が全然違うので、汎用的に取得するのは難しそう。

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

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

*