Calculadora de Expiração de Certificados
Calcula dias até a expiração de certificados SSL/TLS e rastreia múltiplos certificados.
Sobre esta ferramenta
Certificados SSL e TLS são essenciais para proteger sites e aplicações, mas expiram em uma data específica. A Calculadora de Vencimento de Certificado ajuda você a rastrear quando seus certificados expirarão, oferecendo aviso antecipado para que você possa renová-los antes que falhem e interrompam seus serviços. Esta ferramenta é crítica para administradores de sistemas, engenheiros DevOps e proprietários de sites que precisam gerenciar múltiplos certificados em sua infraestrutura.
Para usar a calculadora, simplesmente insira a data de vencimento do seu certificado e a ferramenta exibirá instantaneamente quantos dias restam até a expiração, junto com a data exata e um status de aviso claro. Você pode rastrear múltiplos certificados inserindo cada um separadamente, facilitando a criação de um calendário de renovação. A ferramenta funciona inteiramente no seu navegador, então suas informações de certificado nunca saem do seu dispositivo.
O vencimento de certificado é uma causa comum de interrupções de serviço, especialmente para sites, APIs e servidores de email. Ao usar esta calculadora para monitorar seus certificados de forma proativa, você pode planejar renovações com antecedência e evitar tempo de inatividade custoso. A ferramenta é útil para qualquer pessoa que gerencie infraestrutura SSL/TLS, desde pequenas empresas com um único certificado até grandes empresas com centenas.
Perguntas Frequentes
Implementação 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.