Wie RSA-Schlüssel mit PKCS12 in Python codieren?
-
22-07-2019 - |
Frage
Ich verwende Python (unter Google App Engine), und ich habe einig privaten RSA-Schlüssel, die ich brauche in PKCS # 12-Format zu exportieren. Gibt es irgendetwas gibt, die mir dabei helfen wird? Ich verwende PyCrypto / KeyCzar, und ich habe herausgefunden, wie der Import / Export-RSA-Schlüssels in PKCS8 Format, aber ich brauche es wirklich in PKCS12.
Kann jemand mich in die richtige Richtung? Wenn es hilft, muss der Grund, warum ich sie in PKCS12-Format ist so, dass ich sie auf dem iPhone importieren, die nur scheint Schlüssel-Import in diesem Format zu ermöglichen.
Lösung
Wenn Sie einige ASN.1 Generation verarbeiten kann, können Sie relativ leicht eine PKCS # 8-Datei in eine PKCS # 12-Datei konvertieren. Eine PKCS # 12-Datei ist im Grunde ein Wrapper um eine PKCS # 8 und ein Zertifikat, so eine PKCS # 12-Datei zu machen, müssen Sie nur einige zusätzlichen Daten rund um Ihre PKCS # 8-Datei und Ihr Zertifikat hinzufügen.
Normalerweise wird eine PKCS # 12-Datei wird das Zertifikat (e) in einer verschlüsselten Struktur enthalten, aber alle konformen Parser sollte es von einer unverschlüsselten Struktur lesen können. Auch PKCS # 12-Dateien werden in der Regel eine MacData-Struktur für Integritätsprüfung enthalten, aber dies ist optional und ein nachgiebiger Parser sollte, ohne es funktionieren.
Andere Tipps
Das Standardwerkzeug für den Job ist in der Regel OpenSSL .
Sehen Sie die openssl pkcs12
Befehl.
Diese Mailing-Liste Entsendung neigt, dass PKCS12 vorschlagen wird nicht für ein künftiges Merkmal dieses Pakets geplant, und ist zurzeit nicht implementiert.
http://lists.dlitz.net/pipermail/pycrypto/2009q2 /000104.html