#!/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
-
« 上一篇:
另类开机启动和进程检查方式
-
数字交换
:下一篇 »