folgendes Minimalbeispiel gibt mir "gut" Nutzbare Information über ein Zertifikat.
Code: Alles auswählen
#!/usr/bin/env python3
import ssl, socket
HOST="google.com"
PORT=443
context = ssl.create_default_context()
context.check_hostname=False
context.verify_mode = 2
conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=HOST)
conn.connect((HOST, PORT))
cert = conn.getpeercert(False)
cert_der = conn.getpeercert(True)
cert_pem = ssl.DER_cert_to_PEM_cert(cert_der)
print(cert.keys())
print("alternative Namen:")
print(cert.get("subjectAltName"))
print(cert_pem)
exit()
Code: Alles auswählen
#!/usr/bin/env python3
import ssl, socket
HOST="google.com"
PORT=443
context = ssl.create_default_context()
context.check_hostname=False
context.verify_mode = 0
conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=HOST)
conn.connect((HOST, PORT))
cert = conn.getpeercert(False)
cert_der = conn.getpeercert(True)
cert_pem = ssl.DER_cert_to_PEM_cert(cert_der)
print(cert.keys())
print("alternative Namen:")
print(cert.get("subjectAltName"))
print(cert_pem)
exit()
So, hat jemand eine Idee wie ich ein lokales und/oder nicht validiertes Zertifikate ebenso zu einem "dict" bekomme?