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 🙁

  • Nicht freistehende PKCS # 7 SHA1 + RSA Signatur ohne M2Crypto
  • Updates von pyOpenSSL und pandas mit 'pip' scheitern mit "TypeError: resolve () bekam ein unerwartetes Keyword-Argument 'replace_conflicting'
  • PyvelN richtige Weg, um PEM-Dateien zu erstellen
  • Gegenseitige ssl-Authentifizierung im einfachen ECHO-Client / Server [Python / Sockets / ssl-Module], ssl.SSLEOFError: EOF trat bei Verstoß gegen das Protokoll auf
  • Fehler bei der Installation eines Moduls mit Pip, aber easy_install funktioniert
  • Web-App hängt für mehrere Stunden in ssl.py bei self._sslobj.do_handshake ()
  • Überprüfen Sie, dass SSL / X.509-Zertifikat von einem anderen Zertifikat signiert ist
  • Extrahieren des öffentlichen Schlüssels aus Zertifikat und Verschlüsselung von Daten
  • 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.