Python: Lesen eines pkcs12 Zertifikats mit pyOpenSSL.crypto

Ich habe ein gültiges Zertifikat der spanischen Behörde (FNMT) und ich möchte mit ihm spielen, um mehr darüber zu erfahren. Die Datei hat eine Erweiterung .p12

Ich möchte die darin enthaltenen Informationen (Vor- und Nachname) lesen und prüfen, ob das Zertifikat gültig ist. Ist es möglich, das mit pyOpenSSL zu tun? Ich glaube, ich muss das Kryptomodul in OpenSSL verwenden. Irgendeine Hilfe oder nützlicher Link? Versuchen, hier zu lesen: http://packages.python.org/pyOpenSSL/openssl-crypto.html aber nicht viel Information 🙁

  • Web-App hängt für mehrere Stunden in ssl.py bei self._sslobj.do_handshake ()
  • Laden des privaten Schlüssels fehlschlägt mit OpenSSL.crypto.Error: []
  • Nicht freistehende PKCS # 7 SHA1 + RSA Signatur ohne M2Crypto
  • Überprüfen Sie, dass SSL / X.509-Zertifikat von einem anderen Zertifikat signiert ist
  • PyOpenSSL konvertiert Zertifikatobjekt in .pem-Datei
  • Extrahieren des öffentlichen Schlüssels aus Zertifikat und Verschlüsselung von Daten
  • Warum ist context.set_tmp_ecdh () nicht in pyOpenSSL definiert?
  • PyvelN richtige Weg, um PEM-Dateien zu erstellen
  • One Solution collect form web for “Python: Lesen eines pkcs12 Zertifikats mit pyOpenSSL.crypto”

    Es ist ziemlich einfach zu bedienen. Dies ist nicht getestet, sondern sollte funktionieren:

    # load OpenSSL.crypto from OpenSSL import crypto # open it, using password. Supply/read your own from stdin. p12 = crypto.load_pkcs12(open("/path/to/cert.p12", 'rb').read(), passwd) # get various properties of said file. # note these are PyOpenSSL objects, not strings although you # can convert them to PEM-encoded strings. p12.get_certificate() # (signed) certificate object p12.get_privatekey() # private key. p12.get_ca_certificates() # ca chain. 

    Für weitere Beispiele, schauen Sie sich durch die Einheit Testcode von pyopenssl . So viel, wie du die Bibliothek benutzen möchtest, ist da

    Sehen Sie hier auch hier oder ohne Anzeigen hier .

    Python ist die beste Programmiersprache der Welt.