SSL証明書の有効期限を確認するスクリプト
3795 ワード
openssl
コマンドを使うと証明書の情報が取得できるので、証明書の有効期限のチェックを行うスクリプトを書きました。
#!/bin/bash
## validate_certs - Check SSL certificate expiration date
WARN_DAYS=30
TARGETS=(
"secure.example.com"
)
function show_enddate()
{
echo "" | openssl s_client -connect $1:443 2> /dev/null | openssl x509 -enddate -noout | sed 's/notAfter\=//'
}
echo "SSL Certificate Expiration Checking ($(date -R))"
echo
i_now=$(date "+%Y%m%d%H%M%S")
i_warn=$(date -d "$WARN_DAYS days" "+%Y%m%d%H%M%S")
for host in ${TARGETS[@]}; do
enddate=$(LANG=C date -d"$(show_enddate $host)")
i_enddate=$(date -d"$enddate" "+%Y%m%d%H%M%S")
if [ $i_now -ge $i_enddate ]; then
echo "[SEVERE] \`$host' already expired on $enddate"
elif [ $i_warn -ge $i_enddate ]; then
echo "[WARN] \`$host' will expire on $enddate"
fi
done
echo
echo "EOF"
変数 TARGETS
に監視するドメイン名を列挙しておきます。
有効期限までの日数が変数 WARN_DAYS
よりも小さい場合、画面にそのドメインを [WARN] というメッセージとともに出力します。ちなみに有効期限を過ぎてしまっているドメイン名は [SEVERE] というメッセージになります。
このスクリプトの出力をメールで送信するように cron に登録しておくと証明書の更新忘れがなくなる、かも。
Author And Source
この問題について(SSL証明書の有効期限を確認するスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/jsaito/items/17f115974341fe57879c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .