پایش انقضای گواهیهای SSL
به هر دامنهی پارک با TLS وصل میشه، تاریخ notAfter گواهی رو میخونه و فوریت تمدید رو (OK / BIENTOT / URGENT) تو یه جدول وضعیت دستهبندی میکنه.
کاربرد
پرهیز از اون جمعهشبی که سایت فروشگاهی خطای گواهی نشون میده چون کسی موعدش رو ندیده بود.
پیشنیازها
Python 3.9+ (bibliothèque standard)
Python
import socket
import ssl
from datetime import datetime, timezone
DOMAINES = ["exemple.fr", "api.exemple.fr", "shop.exemple.fr", "blog.exemple.fr"]
ctx = ssl.create_default_context()
print(f"{'domaine':<18} {'expire le':<12} {'restant':>8} état")
print("-" * 50)
for dom in DOMAINES:
with ctx.wrap_socket(socket.create_connection((dom, 443), 5),
server_hostname=dom) as s:
brut = s.getpeercert()["notAfter"]
fin = datetime.strptime(brut, "%b %d %H:%M:%S %Y %Z").replace(tzinfo=timezone.utc)
restant = (fin - datetime.now(timezone.utc)).days
etat = "OK" if restant > 30 else ("BIENTOT" if restant > 7 else "URGENT")
print(f"{dom:<18} {fin:%Y-%m-%d} {restant:>4} j {etat}")نتیجه
domaine expire le restant état -------------------------------------------------- exemple.fr 2026-09-02 84 j OK api.exemple.fr 2026-07-29 49 j OK shop.exemple.fr 2026-06-28 17 j BIENTOT blog.exemple.fr 2026-06-14 3 j URGENT
SSLSécuritésocketMonitoringOps