python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python检查ssl证书到期时间

使用python脚本检查ssl证书到期时间

作者:zhao138969

这篇文章主要为大家介绍了使用python脚本检查ssl证书到期时间,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

python脚本检查ssl证书到期时间

#! /usr/bin/python
# -*- coding:utf-8 -*-
#此脚本用来获取https证书过期时间,发送网管告警
#需要先执行pip install pyopenssl
from urllib3.contrib import pyopenssl as reqs;
from datetime import datetime;
import os
#公网验证域名返回到期时间
def get_notafter(DomainName):
    cert = reqs.OpenSSL.crypto.load_certificate(reqs.OpenSSL.crypto.FILETYPE_PEM, reqs.ssl.get_server_certificate((DomainName, 443)));
    notafter = datetime.strptime(cert.get_notAfter().decode()[0:-1], '%Y%m%d%H%M%S');
    remain_days = notafter - datetime.now();
    #print(DomainName, '证书到期天数是:', remain_days.days);
    return remain_days.days
#判断到期时间发送网管告警
def IfDate(DomainName,DomainNameExpired,CheckTime):
   if int(DomainNameExpired) < CheckTime:
      GetDomainMsg = "https://" + DomainName +  " 证书还剩余到期天数是: "+ str(DomainNameExpired) +" days"  
      os.system("/bin/logger -p local0.crit \"ccod: result=ERROR "+  GetDomainMsg  + " \"") 
#主函数
def Main(DomainNameList,CheckTime):
    for DomainName  in DomainNameList:
        try:
            DomainNameExpired = get_notafter(DomainName);
        except Exception as e:
            ErrorMsg = "请检查 https://"+ DomainName +" 域名是否正确或者网络可达性"
            print(ErrorMsg)
        IfDate(DomainName,DomainNameExpired,CheckTime)
if __name__ == "__main__":
   #设置要检查的域名列表
   DomainNameList = ["baidu.com","jd.com"]
   #设定检查域名到期告警时间
   CheckTime = 40
   #运行主函数
   Main(DomainNameList,CheckTime)

以上就是使用python脚本检查ssl证书到期时间的详细内容,更多关于python检查ssl证书到期时间的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文