网站域名ssl证书到期时间监控

发表于 LINUX 分类,标签:
#!/bin/bash
startCheck(){
DOMAIN=$1
DOMAIN_PORT=$2
# 使用openssl获取域名的证书情况,然后获取其中的到期时间
INVALID_TIME=$(echo | openssl s_client -servername ${DOMAIN}  -connect ${DOMAIN}:${DOMAIN_PORT} 2>/dev/null | openssl x509 -noout -dates |grep 'After'| awk -F '=' '{print $2}'| awk -F ' +' '{print $1,$2,$4 }')
# 将日期转化为时间戳
INVALID_TIME=$(date +%s -d "$INVALID_TIME")
# echo ${INVALID_TIME}
# 获取当前时间的时间戳,精确到秒
NOW_TIMESTAMP=`date +%s`
# echo ${NOW_TIMESTAMP}
# 到期时间减去目前时间再转化为天数
RST=$(($(($INVALID_TIME-$NOW_TIMESTAMP))/(60*60*24))) 
if [ "${RST}" -le 90 ];then
echo "${DOMAIN}  证书还有${RST}到期,请轻快检查并更换...."
fi
}
startCheck www.baidu.com 443
startCheck www.qq.com 443
startCheck www.163.com 443
startCheck man.linuxnb.com 443
import OpenSSL
import ssl, socket
cert=ssl.get_server_certificate(('www.google.com', 443))
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
x509.get_notAfter()

记得提前安装pip install pyopenssl

0 篇评论

发表我的评论