#!/usr/bin/env python3 import socket import ssl def get_server_certificate(hostname, port=443): # context = ssl.create_default_context() context = ssl._create_unverified_context() with socket.create_connection((hostname, port)) as sock: with context.wrap_socket(sock, server_hostname=hostname) as ssock: cert = ssock.getpeercert() return cert # not success, but why? if __name__ == "__main__": certificate = get_server_certificate("hatter.ink") print(f"Certificate: {certificate}") for key, value in certificate.items(): print(f"{key}: {value}")