使用python腳本檢查ssl證書到期時間
更新時間:2024年01月17日 08:51:38 作者:zhao138969
這篇文章主要為大家介紹了使用python腳本檢查ssl證書到期時間,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
python腳本檢查ssl證書到期時間
- 目前該腳本只是發(fā)送rsyslog日志,可以自行在修改結(jié)合zabbix或者自行發(fā)送到釘釘或者微信告警
#! /usr/bin/python
# -*- coding:utf-8 -*-
#此腳本用來獲取https證書過期時間,發(fā)送網(wǎng)管告警
#需要先執(zhí)行pip install pyopenssl
from urllib3.contrib import pyopenssl as reqs;
from datetime import datetime;
import os
#公網(wǎng)驗證域名返回到期時間
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, '證書到期天數(shù)是:', remain_days.days);
return remain_days.days
#判斷到期時間發(fā)送網(wǎng)管告警
def IfDate(DomainName,DomainNameExpired,CheckTime):
if int(DomainNameExpired) < CheckTime:
GetDomainMsg = "https://" + DomainName + " 證書還剩余到期天數(shù)是: "+ str(DomainNameExpired) +" days"
os.system("/bin/logger -p local0.crit \"ccod: result=ERROR "+ GetDomainMsg + " \"")
#主函數(shù)
def Main(DomainNameList,CheckTime):
for DomainName in DomainNameList:
try:
DomainNameExpired = get_notafter(DomainName);
except Exception as e:
ErrorMsg = "請檢查 https://"+ DomainName +" 域名是否正確或者網(wǎng)絡可達性"
print(ErrorMsg)
IfDate(DomainName,DomainNameExpired,CheckTime)
if __name__ == "__main__":
#設置要檢查的域名列表
DomainNameList = ["baidu.com","jd.com"]
#設定檢查域名到期告警時間
CheckTime = 40
#運行主函數(shù)
Main(DomainNameList,CheckTime)以上就是使用python腳本檢查ssl證書到期時間的詳細內(nèi)容,更多關(guān)于python檢查ssl證書到期時間的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python如何利用paramiko執(zhí)行服務器命令
這篇文章主要介紹了python如何利用paramiko執(zhí)行服務器命令,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
在django中使用post方法時,需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時,需要增加csrftoken的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

