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

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

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

  • 目前该脚本只是发送rsyslog日志,可以自行在修改结合zabbix或者自行发送到钉钉或者微信告警
#! /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证书到期时间的资料请关注脚本之家其它相关文章!

相关文章

  • Django REST 异常处理详解

    Django REST 异常处理详解

    这篇文章主要介绍了Django REST 异常处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 学好python基本数据类型

    学好python基本数据类型

    这篇文章主要介绍了学好python基本数据类型,学习python基本数据类型我们需要了解基本数据类型有数字int、布尔值bool、字符串str、列表list、元组tuple、字典dict等,其中包括他们的基本用法和其常用的方法,下面来看看文章的具体介绍吧
    2021-12-12
  • Transformer导论之Bert预训练语言解析

    Transformer导论之Bert预训练语言解析

    这篇文章主要为大家介绍了Transformer导论之Bert预训练语言解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • python如何利用paramiko执行服务器命令

    python如何利用paramiko执行服务器命令

    这篇文章主要介绍了python如何利用paramiko执行服务器命令,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • Python零基础入门学习之输入与输出

    Python零基础入门学习之输入与输出

    在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题
    2019-04-04
  • Python接口自动化测试框架运行原理及流程

    Python接口自动化测试框架运行原理及流程

    这篇文章主要介绍了Python接口自动化测试框架运行原理及流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python实现矩阵可视化的示例代码

    Python实现矩阵可视化的示例代码

    matplotlib中提供了两个矩阵可视化函数,分别是imshow和matshow,本文主要为大家详细介绍了如何使用这两个函数,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • python单例设计模式实现解析

    python单例设计模式实现解析

    这篇文章主要介绍了python单例设计模式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 在django中使用post方法时,需要增加csrftoken的例子

    在django中使用post方法时,需要增加csrftoken的例子

    这篇文章主要介绍了在django中使用post方法时,需要增加csrftoken的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python线程启动的四种方式总结

    python线程启动的四种方式总结

    这篇文章主要给大家介绍了关于python线程启动的四种方式,线程可以完成一定任务,可以和其它线程共享父进程的共享变量和部分环境,相互协作来完成任务,需要的朋友可以参考下
    2024-01-01

最新评论