Calculadora de Vencimiento de Certificados
Calcula días hasta el vencimiento de certificados SSL/TLS y rastrea múltiples certificados.
Acerca de esta herramienta
Los certificados SSL y TLS son esenciales para proteger sitios web y aplicaciones, pero expiran en una fecha específica. La Calculadora de Vencimiento de Certificados te ayuda a rastrear cuándo vencerán tus certificados, dándote un aviso anticipado para que puedas renovarlos antes de que caduquen e interrumpan tus servicios. Esta herramienta es crítica para administradores de sistemas, ingenieros DevOps y propietarios de sitios web que necesitan gestionar múltiples certificados en su infraestructura.
Para usar la calculadora, simplemente ingresa la fecha de vencimiento de tu certificado y la herramienta mostrará instantáneamente cuántos días quedan hasta la expiración, junto con la fecha exacta y un estado de advertencia claro. Puedes rastrear múltiples certificados ingresando cada uno por separado, lo que facilita crear un programa de renovación. La herramienta funciona completamente en tu navegador, por lo que tu información de certificado nunca sale de tu dispositivo.
El vencimiento de certificados es una causa común de interrupciones de servicio, especialmente para sitios web, API y servidores de correo. Al utilizar esta calculadora para monitorear tus certificados de forma proactiva, puedes planificar renovaciones con anticipación y evitar tiempos de inactividad costosos. La herramienta es útil para cualquiera que gestione infraestructura SSL/TLS, desde pequeñas empresas con un certificado único hasta grandes empresas con cientos.
Preguntas Frecuentes
Implementación de Código
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.