İçeriğe geç
🛠️ToolsShed

Sertifika Son Kullanma Hesaplayıcı

SSL/TLS sertifikalarının son kullanma tarihine kadar olan günleri hesaplar.

Bu araç hakkında

SSL ve TLS sertifikaları web siteleri ve uygulamaları korumak için gereklidir, ancak belirli bir tarihte sona erer. Sertifika Sona Erme Hesaplayıcısı, sertifikaların ne zaman sona ereceğini izlemenize yardımcı olur ve hizmetlerinizi kesintiye uğratmadan önce bunları yenileyebilmeniz için önceden uyarı verir. Bu araç, altyapılarında birden fazla sertifikayı yönetmesi gereken sistem yöneticileri, DevOps mühendisleri ve web sitesi sahipleri için kritik öneme sahiptir.

Hesaplayıcıyı kullanmak için sertifikanızın sona erme tarihini girin ve araç hemen sona ermesine kadar kalan günleri, tam tarihi ve net bir uyarı durumunu gösterecektir. Her bir sertifikayı ayrı ayrı girerek birden fazla sertifikayı izleyebilirsiniz, bu da yenileme takvimi oluşturmayı kolaylaştırır. Araç tamamen tarayıcınızda çalışır, bu nedenle sertifika bilgileriniz asla cihazınızdan ayrılmaz.

Sertifika sona ermesi, özellikle web siteleri, API'ler ve e-posta sunucuları için hizmet kesintilerinin yaygın bir nedenidir. Bu hesaplayıcıyı kullanarak sertifikalarınızı proaktif olarak izleyerek, yenilemeleri önceden planlayabilir ve maliyetli kesintileri önleyebilirsiniz. Araç, tek bir sertifikaya sahip küçük işletmelerden yüzlerce sertifikaya sahip büyük kuruluşlara kadar SSL/TLS altyapısını yönetenlerin hepsi için yararlıdır.

Sıkça Sorulan Sorular

Kod Uygulaması

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.