サブドメインを使っているサイトのSSL証明書の期限一覧を作るスクリプトです。
get_expire.sh
#! /bin/bash
#
# get_expire.sh
#
# Mar/14/2018
domain=$1
filename=$2
#
./get_expire_exec.sh $domain $filename | grep GM | \
awk -F= '{print $2"\t"$1}' | \
sed 's/ notAfter//' | sort
#
#
get_expire_exec.sh
#! /bin/bash
#
# get_expire_exec.sh
#
# Mar/14/2018
domain=$1
filename=$2
cat $filename | while read pref
do
host=$pref"."$domain
echo -n $host" "
echo | openssl s_client -connect $host:443 -servername $host \
2>/dev/null | openssl x509 -noout -enddate
echo
done
#
実行方法
./get_expire.sh example.com in01.txt
例えば、in01.txt は次のようなファイルです。
in01.txt
aichi
aomori
chiba
ehime
fukui
実行結果
May 10 22:57:42 2018 GMT ehime.example.com
May 12 00:39:38 2018 GMT fukui.example.com
May 14 00:45:44 2018 GMT aomori.example.com
May 15 01:06:24 2018 GMT chiba.example.com
May 18 01:07:04 2018 GMT aichi.example.com
動作の確認は、
Arch Linux (4.16.13-2-ARCH) で行いました。
ひとつのサイトの期限を調べる方法はこちらです。
openssl で 証明書の期限を確認する