使用python腳本檢查ssl證書到期時間
更新時間:2024年01月17日 08:51:38 作者:zhao138969
這篇文章主要為大家介紹了使用python腳本檢查ssl證書到期時間,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
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)驗(yàn)證域名返回到期時間
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)絡(luò)可達(dá)性"
print(ErrorMsg)
IfDate(DomainName,DomainNameExpired,CheckTime)
if __name__ == "__main__":
#設(shè)置要檢查的域名列表
DomainNameList = ["baidu.com","jd.com"]
#設(shè)定檢查域名到期告警時間
CheckTime = 40
#運(yùn)行主函數(shù)
Main(DomainNameList,CheckTime)以上就是使用python腳本檢查ssl證書到期時間的詳細(xì)內(nèi)容,更多關(guān)于python檢查ssl證書到期時間的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python如何聲明以管理員方式運(yùn)行(附實(shí)戰(zhàn)案例)
由于Windows的安全機(jī)制,Python寫的腳本缺少了管理員權(quán)限,運(yùn)行就會受到一些限制,這篇文章主要介紹了Python如何聲明以管理員方式運(yùn)行的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Python利用標(biāo)簽實(shí)現(xiàn)清理微信好友的自動化腳本
微信已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡纳缃还ぞ?隨著使用時間的增長,我們的微信好友列表可能會變得越來越臃腫,所以本文為大家準(zhǔn)備了通過標(biāo)簽清理微信好友的Python自動化腳本,希望對大家有所幫助2024-12-12
Django配置Mysql數(shù)據(jù)庫連接的實(shí)現(xiàn)
本文主要介紹了Django配置Mysql數(shù)據(jù)庫連接的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
python之matplotlib學(xué)習(xí)繪制動態(tài)更新圖實(shí)例代碼
這篇文章主要介紹了python之matplotlib學(xué)習(xí)繪制動態(tài)更新圖實(shí)例代碼,文中涉及具體實(shí)現(xiàn)代碼,演示效果及運(yùn)行時出現(xiàn)的問題分析等相關(guān)內(nèi)容,小編覺得還是挺不錯的,這里分享給大家,需要的朋友可以參考下2018-01-01
用Python PIL實(shí)現(xiàn)幾個簡單的圖片特效
這篇文章主要介紹了用Python PIL實(shí)現(xiàn)幾個簡單的圖片特效,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
PyQt教程之自定義組件Switch?Button的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了PyQt中如何實(shí)現(xiàn)自定義組件Switch?Button,文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價值,感興趣的可以了解一下2023-05-05

