Skip to content

SSL-certificate expiry watch в Python

Самоподписанный скрипт проверяет SSL сертификат и шлёт алерт за 14 дней до expiry.

Рецепт

python
import ssl, socket, datetime

def days_left(host: str, port: int = 443) -> int:
    ctx = ssl.create_default_context()
    with socket.create_connection((host, port), timeout=10) as sock:
        with ctx.wrap_socket(sock, server_hostname=host) as ss:
            not_after = ss.getpeercert()["notAfter"]
            exp = datetime.datetime.strptime(not_after, "%b %d %H:%M:%S %Y %Z")
            return (exp - datetime.datetime.utcnow()).days

if days_left("example.com") < 14:
    raise SystemExit("SSL expiring soon")

То же самое в Enterno.io

У Enterno проверка SSL + мониторинг: автоматические письма + Telegram за 14 и 3 дня до expiry, проверка всей chain (intermediate, OCSP staple, cipher).

Настроить SSL checker → ← Все рецепты