查詢https證書到期時間
import socket
import ssl
import datetime
def ssl_expiry_datetime(hostname):
ssl_date_fmt = r'%b %d %H:%M:%S %Y %Z'
context = ssl.create_default_context()
conn = context.wrap_socket(
socket.socket(socket.AF_INET),
server_hostname=hostname,
)
# 3 second timeout because Lambda has runtime limitations
conn.settimeout(3.0)
conn.connect((hostname, 443))
ssl_info = conn.getpeercert()
# parse the string from the certificate into a Python datetime object
return datetime.datetime.strptime(ssl_info['notAfter'], ssl_date_fmt)
def ssl_valid_time_remaining(hostname):
"""Get the number of days left in a cert's lifetime."""
expires = ssl_expiry_datetime(hostname)
#logger.debug(
# "SSL cert for %s expires at %s",
# hostname, expires.isoformat()
#)
return expires - datetime.datetime.utcnow()
def ssl_expires_in(hostname, buffer_days=100):
"""Check if `hostname` SSL cert expires is within `buffer_days`.
Raises `AlreadyExpired` if the cert is past due
"""
remaining = ssl_valid_time_remaining(hostname)
print remaining
# if the cert expires in less than two weeks, we should reissue it
if remaining < datetime.timedelta(days=0):
# cert has already expired - uhoh!
raise AlreadyExpired("Cert expired %s days ago" % remaining.days)
elif remaining < datetime.timedelta(days=buffer_days):
# expires sooner than the buffer
return True
else:
# everything is fine
return False
print ssl_expires_in('www.aaa.com')
print ssl_expires_in('m.bbb.com')
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10972173/viewspace-2219106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ssl證書到期時間查詢方法
- 如何檢視SSL證書到期時間?
- JN專案-時間查詢條件驗證
- JPA時間段查詢
- MySQL查詢時間段MySql
- 線性時間查詢
- SQL時間段查詢SQL
- Linux系統檢查使用者賬戶到期時間Linux
- 生成https證書HTTP
- HTTPS信任證書HTTP
- Mysql 查詢時間轉換MySql
- 如何讓在Linux檢查使用者賬戶到期時間Linux
- Nginx 配置https證書NginxHTTP
- 免費https證書HTTP
- Nginx https證書部署NginxHTTP
- 【文末彩蛋】Adobe國際認證證書查詢
- Oracle日期時間範圍查詢Oracle
- Mysql中查詢系統時間MySql
- SSL證書生成,完成HTTPS驗證HTTP
- 查詢時間從前7天到當前時間
- 【Azure App Service】遇見az命令訪問HTTPS App Service 時遇見SSL證書問題,暫時跳過證書檢查的辦法APPHTTP
- HTTPS的SSL證書配置HTTP
- 建立並使用https證書HTTP
- Laravel MongoDB 時間區間查詢的問題LaravelMongoDB
- SSL證書的簽發時間和訂單時間同步嗎
- 如何實現模糊查詢時間段
- 使用.NET查詢日出日落時間
- iOS 對 HTTPS 證書鏈的驗證iOSHTTP
- curl 設定https 不驗證證書HTTP
- 如何在oracle網站上查詢、驗證自己獲得的證書Oracle網站
- 什麼是證書透明度CT?如何查詢CT logs證書日誌?
- Apache 配置https 自簽名證書 或者 購賣證書ApacheHTTP
- JN專案-時間查詢,結束時間比開始時間小給提示
- 查詢一個表插入資料的時間,按BLOCK時間BloC
- 部署HTTPS證書有必要嗎?HTTP
- Fiddler安裝https證書HTTP
- 本地簽發ssl證書(https)HTTP
- 解決studio 3T時間到期方法