Your IP : 216.73.217.79


Current Path : /home/otto/python/
Upload File :
Current File : //home/otto/python/check-ssl.py

import ssl
import socket
from datetime import datetime

def check_ssl_expiry(domain, port=443):
    try:
        # Connect to the server and get the certificate
        context = ssl.create_default_context()
        with socket.create_connection((domain, port), timeout=5) as sock:
            with context.wrap_socket(sock, server_hostname=domain) as ssock:
                cert = ssock.getpeercert()

        # Extract expiration date
        expiry_date = datetime.strptime(cert['notAfter'], "%b %d %H:%M:%S %Y %Z")
        days_remaining = (expiry_date - datetime.utcnow()).days

        # Display results
        print(f"Domain: {domain}")
        print(f"SSL Certificate Expiration Date: {expiry_date.strftime('%Y-%m-%d')}")
        print(f"Days Until Expiry: {days_remaining}")

        # Return results
        return {
            "domain": domain,
            "expiry_date": expiry_date.strftime('%Y-%m-%d'),
            "days_remaining": days_remaining,
            "status": "Valid" if days_remaining > 0 else "Expired"
        }

    except Exception as e:
        print(f"Error checking {domain}: {e}")
        return {
            "domain": domain,
            "error": str(e),
            "status": "Error"
        }

# Example Usage
if __name__ == "__main__":
    domains = ["igotafrica.com", "veri-rent.co.za"]
    for domain in domains:
        check_ssl_expiry(domain)