使用python腳本檢查ssl證書到期時(shí)間
更新時(shí)間:2024年01月17日 08:51:38 作者:zhao138969
這篇文章主要為大家介紹了使用python腳本檢查ssl證書到期時(shí)間,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
python腳本檢查ssl證書到期時(shí)間
- 目前該腳本只是發(fā)送rsyslog日志,可以自行在修改結(jié)合zabbix或者自行發(fā)送到釘釘或者微信告警
#! /usr/bin/python
# -*- coding:utf-8 -*-
#此腳本用來獲取https證書過期時(shí)間,發(fā)送網(wǎng)管告警
#需要先執(zhí)行pip install pyopenssl
from urllib3.contrib import pyopenssl as reqs;
from datetime import datetime;
import os
#公網(wǎng)驗(yàn)證域名返回到期時(shí)間
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
#判斷到期時(shí)間發(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 = "請(qǐng)檢查 https://"+ DomainName +" 域名是否正確或者網(wǎng)絡(luò)可達(dá)性"
print(ErrorMsg)
IfDate(DomainName,DomainNameExpired,CheckTime)
if __name__ == "__main__":
#設(shè)置要檢查的域名列表
DomainNameList = ["baidu.com","jd.com"]
#設(shè)定檢查域名到期告警時(shí)間
CheckTime = 40
#運(yùn)行主函數(shù)
Main(DomainNameList,CheckTime)以上就是使用python腳本檢查ssl證書到期時(shí)間的詳細(xì)內(nèi)容,更多關(guān)于python檢查ssl證書到期時(shí)間的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
相關(guān)文章
Transformer導(dǎo)論之Bert預(yù)訓(xùn)練語言解析
這篇文章主要為大家介紹了Transformer導(dǎo)論之Bert預(yù)訓(xùn)練語言解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python如何利用paramiko執(zhí)行服務(wù)器命令
這篇文章主要介紹了python如何利用paramiko執(zhí)行服務(wù)器命令,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
Python零基礎(chǔ)入門學(xué)習(xí)之輸入與輸出
在之前的編程中,我們的信息打印,數(shù)據(jù)的展示都是在控制臺(tái)(命令行)直接輸出的,信息都是一次性的沒有辦法復(fù)用和保存以便下次查看,今天我們將學(xué)習(xí)Python的輸入輸出,解決以上問題2019-04-04
Python接口自動(dòng)化測(cè)試框架運(yùn)行原理及流程
這篇文章主要介紹了Python接口自動(dòng)化測(cè)試框架運(yùn)行原理及流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
python單例設(shè)計(jì)模式實(shí)現(xiàn)解析
這篇文章主要介紹了python單例設(shè)計(jì)模式實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
在django中使用post方法時(shí),需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時(shí),需要增加csrftoken的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03

