Python 检测网站SSL证书到期时间脚本
网站使用的是freessl免费证书,经常过期了忘记更新,于是就有了下面的检测脚本,配合钉钉机器人临近到期了就告警。
import socket
import ssl
from datetime import datetime
import OpenSSL
def SSLExpireDateCheck(domain):
socket.setdefaulttimeout(2)
try:
conn = socket.create_connection((domain, 443))
sock = ssl.SSLContext(ssl.PROTOCOL_SSLv23).wrap_socket(conn, server_hostname=domain)
certificate = ssl.DER_cert_to_PEM_cert(sock.getpeercert(True))
data = OpenSSL.crypto.load_certificate(type=OpenSSL.crypto.FILETYPE_PEM, buffer=certificate)
expire_time = datetime.strptime(data.get_notAfter().decode()[0:-1], '%Y%m%d%H%M%S')
expire_days = (expire_time - datetime.now()).days
return {'expire_time': str(expire_time), 'expire_days': expire_days}
except Exception as e:
print(e.args)
return None
if __name__ == "__main__":
result = SSLExpireDateCheck('www.baidu.com')
print(result)

浙公网安备 33010602011771号