Aller au contenu
đŸ› ïžToolsShed

Calculatrice d'Expiration de Certificats

Calcule les jours restants avant l'expiration des certificats SSL/TLS.

À propos de cet outil

Les certificats SSL et TLS sont essentiels pour sécuriser les sites web et les applications, mais ils expirent à une date spécifique. La Calculatrice d'Expiration de Certificat vous aide à suivre l'expiration de vos certificats, vous donnant un avis préalable pour que vous puissiez les renouveler avant qu'ils n'expirent et ne perturbent vos services. Cet outil est essentiel pour les administrateurs systÚme, les ingénieurs DevOps et les propriétaires de sites web qui doivent gérer plusieurs certificats dans leur infrastructure.

Pour utiliser la calculatrice, entrez simplement la date d'expiration de votre certificat et l'outil affichera instantanément le nombre de jours restants jusqu'à l'expiration, ainsi que la date exacte et un statut d'avertissement clair. Vous pouvez suivre plusieurs certificats en entrant chacun séparément, ce qui facilite la création d'un calendrier de renouvellement. L'outil fonctionne entiÚrement dans votre navigateur, donc vos informations de certificat ne quittent jamais votre appareil.

L'expiration de certificat est une cause courante de perturbations de service, en particulier pour les sites web, les API et les serveurs de messagerie. En utilisant cette calculatrice pour surveiller vos certificats de maniĂšre proactive, vous pouvez planifier les renouvellements Ă  l'avance et Ă©viter les temps d'arrĂȘt coĂ»teux. L'outil est utile pour quiconque gĂšre une infrastructure SSL/TLS, des petites entreprises avec un seul certificat aux grandes entreprises avec des centaines.

Questions Fréquentes

Implémentation du Code

import ssl
import socket
from datetime import datetime, timezone

def get_cert_expiry(hostname: str, port: int = 443) -> dict:
    """Fetch TLS certificate expiry info for a hostname."""
    context = ssl.create_default_context()
    with socket.create_connection((hostname, port), timeout=5) as sock:
        with context.wrap_socket(sock, server_hostname=hostname) as ssock:
            cert = ssock.getpeercert()

    not_after = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
    not_after = not_after.replace(tzinfo=timezone.utc)
    now = datetime.now(timezone.utc)
    days_remaining = (not_after - now).days

    return {
        "hostname": hostname,
        "expires": not_after.strftime('%Y-%m-%d'),
        "days_remaining": days_remaining,
        "status": "expired" if days_remaining < 0
                  else "critical" if days_remaining < 14
                  else "warning" if days_remaining < 30
                  else "good",
        "subject": dict(x[0] for x in cert.get('subject', [])),
        "issuer": dict(x[0] for x in cert.get('issuer', [])),
    }

# Example
result = get_cert_expiry("example.com")
print(f"Expires: {result['expires']}")
print(f"Days remaining: {result['days_remaining']}")
print(f"Status: {result['status']}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.