#! /usr/bin/python
# -*- coding:utf-8 -*-
# Author: panb
##此腳本用來獲取https證書過期時間,需要先執行pip3 install pyopenssl
import argparse;
from urllib3.contrib import pyopenssl as reqs;
from datetime import datetime;
#命令行參數
parser = argparse.ArgumentParser(description='本腳本獲取https證書到期時間');
parser.add_argument('-w', '-www', metavar='https網站,如www.jcici.com',required=True, dest='sites', nargs='+', help='輸入監控的https網站')
args = parser.parse_args()
#公網驗證
def get_notafter(www):
cert = reqs.OpenSSL.crypto.load_certificate(reqs.OpenSSL.crypto.FILETYPE_PEM, reqs.ssl.get_server_certificate((www, 443)));
notafter = datetime.strptime(cert.get_notAfter().decode()[0:-1], '%Y%m%d%H%M%S');
remain_days = notafter - datetime.now();
print(www, '證書到期天數是:', remain_days.days);
#輸出結果
try:
for site in args.sites:
get_notafter(site);
except Exception as e:
print("出現錯誤,請檢查域名是否正確或者可達性");