Ich konnte keinen geeigneten Weg finden, um den Namen des Signaturalgorithmus zu erhalten, der für ein Zertifikat verwendet wird, das von einem SSLSocket empfangen wird. Ich bin mir bewusst, dass Sie die Bytes des Peer-Zertifikat mit SSLSocket.getpeercert(True)
ziehen können, aber ich weiß nicht, was ich damit zu tun habe. PyOpenSSL scheint keine einfache Schnittstelle zu haben, um einen X509 aus seinem Byte-Inhalt zu laden.Wo Name des Signaturalgorithmus von SSLSocket erhalten?
Ich würde gerne diese Informationen wissen, da Zertifikate mit SHA1 keine Ablaufzeiten nach dem 1. Januar 2017 haben dürfen, und dies wird von Pythons SSLSocket.do_handshake()
Implementierung nicht überprüft.
Sie könnten stattdessen die Kryptografie-Bibliothek verwenden. Dieser bietet [signature_hash_algorithm] (https://cryptography.io/en/latest/x509/reference/#cryptography.x509.Certificate.signature_hash_algorithm). –