Kalkulator Kedaluwarsa Sertifikat
Menghitung hari hingga kedaluwarsa sertifikat SSL/TLS dan melacak beberapa sertifikat.
Tentang alat ini
Sertifikat SSL dan TLS sangat penting untuk mengamankan situs web dan aplikasi, tetapi mereka kedaluwarsa pada tanggal tertentu. Kalkulator Kedaluwarsa Sertifikat membantu Anda melacak kapan sertifikat Anda akan kedaluwarsa, memberikan pemberitahuan sebelumnya sehingga Anda dapat memperbaruinya sebelum lalu lintas terganggu. Alat ini penting untuk administrator sistem, insinyur DevOps, dan pemilik situs web yang perlu mengelola beberapa sertifikat di infrastruktur mereka.
Untuk menggunakan kalkulator, cukup masukkan tanggal kedaluwarsa sertifikat Anda dan alat akan segera menampilkan berapa hari yang tersisa hingga kedaluwarsa, beserta tanggal pasti dan status peringatan yang jelas. Anda dapat melacak beberapa sertifikat dengan memasukkan masing-masing sertifikat secara terpisah, sehingga mudah membuat jadwal pembaruan. Alat ini berfungsi sepenuhnya di browser Anda, sehingga informasi sertifikat Anda tidak pernah meninggalkan perangkat Anda.
Kedaluwarsa sertifikat adalah penyebab umum gangguan layanan, terutama untuk situs web, API, dan server email. Dengan menggunakan kalkulator ini untuk memantau sertifikat Anda secara proaktif, Anda dapat merencanakan pembaruan sebelumnya dan menghindari waktu henti yang mahal. Alat ini berguna bagi siapa saja yang mengelola infrastruktur SSL/TLS, mulai dari bisnis kecil dengan satu sertifikat hingga perusahaan besar dengan ratusan.
Pertanyaan yang Sering Diajukan
Implementasi Kode
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.