[PYTHON] Überprüfen Sie einige Tage, bis das Zertifikat abläuft

ssl_expire.py


import socket
import ssl
import OpenSSL

def get_server_certificate(hostname):
    context = ssl.create_default_context()
    with socket.create_connection((hostname, 443)) as sock:
        with context.wrap_socket(sock, server_hostname=hostname) as sslsock:
            der_cert = sslsock.getpeercert(True)
            return ssl.DER_cert_to_PEM_cert(der_cert)

cert = get_server_certificate('qiita.com')
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert.encode('utf-8'))

import datetime
from datetime import datetime as dt
not_before = dt.strptime(str(x509.get_notBefore())[2:16],'%Y%m%d%H%M%S') + datetime.timedelta(hours=9)
not_after  = dt.strptime(str(x509.get_notAfter())[2:16],'%Y%m%d%H%M%S')  + datetime.timedelta(hours=9)
print(not_after)
aaa = not_after - dt.now()
print(aaa)
$ python3 ssl_expire.py
2020-04-30 21:00:00
106 days, 19:33:22.726942

Das qiita.com-Zertifikat läuft in 106 Tagen ab

Referenz-URL

Was tun, wenn Sie mit [ssl \ .get \ _server \ _certificate \ -Qiita] kein Zertifikat erhalten können (https://qiita.com/t-kigi/items/0850ab7dbe45cd50880c)?

ssl \ - \ - \ - TLS / SSL-Wrapper für Socket-Objekte - Python 3 \ .8 \ .1-Dokumentation

Abrufen des Ablaufdatums des SSL-Zertifikats der Python-Site \ -Symfoware

Abrufen des Ablaufdatums des SSL-Zertifikats \ -Qiita

x509-Zertifikat \ - Verschiedenes Memo-Speicher

Memorandum ohne Titel: So finden Sie X Tage vor / X Tage nach Python

Recommended Posts

Überprüfen Sie einige Tage, bis das Zertifikat abläuft
Finde die Daten des verrückten Turniers heraus
Ändern Sie die Liste in der for-Anweisung