Python

پایش انقضای گواهی‌های 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

اسنیپت‌های مرتبط

بازگشت به آزمایشگاه داده