OpenSSL PKCS12 entfernt ständig die PEM-Passphrase aus dem Keystore-Eintrag?

OpenSSL PKCS12 entfernt ständig die PEM-Passphrase aus dem Keystore-Eintrag?

OpenSSL 1.0.1e 11. Februar 2013

Generieren eines selbstsignierten Zertifikats:

openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days 365

Während des ProzessesPEM-Passphrasewird verlangt:

Geben Sie die PEM-Passphrase ein:
Überprüfen – Geben Sie die PEM-Passphrase ein:

Es gibt 2 Ergebnisdateien nach erfolgreichem Abschluss inPEMFormat:

Schlüssel.pem, Zertifikat.pem

Der private Schlüssel (Schlüssel.pem) ist inPKCS#8Format und die Startzeile lautet:

-----BEGINNEN SIE MIT DEM VERSCHLÜSSELTEN PRIVATEN SCHLÜSSEL-----

Nun versuche ich das Zertifikat sowie den dazugehörigen privaten Schlüssel zu einemPKCS#12Schlüsselspeicher und schützen Sie den Schlüsselspeicher mit einemPasswort. Hinweis - nach meinem Verständnis sollte dies effektiv die Anforderung einesPasswortbeim Lesezugriff sowie einePassphrasefür den privaten Schlüssel des entsprechenden Eintrags:

openssl pkcs12 -export -inkey key.pem -in cert.pem -out keystore.p12

Bei der Ausführung werde ich um Folgendes gebeten:

Geben Sie die Passphrase für key.pem ein:
Geben Sie das Exportkennwort ein:
Überprüfen – Geben Sie das Exportkennwort ein:

Ich bin jedoch der Auffassung, dass diePassphrasesollte intakt bleiben für diePrivat Schlüsseldas nun gespeichert wird imSchlüsselspeicher.p12Datei. So versuche ich, den Inhalt des Schlüsselspeichers zu lesen:

openssl pkcs12 -nodes -info -in keystore.p12

Die Ausgabe, die ich bekomme (nur im Zusammenhang mit dem Schutz des Schlüsselspeichers mit einemPasswort):

Importkennwort eingeben:

Und listet das Zertifikat sowie den privaten Schlüssel im PEM-Format auf, ohne denPassphrasefür Letzteres. Das ist im Grunde das Problem. DiePEM-Passphraseist nicht mehr da für diePrivat Schlüssel. Was mache ich falsch oder wie kann ich das beheben? Danke.

Antwort1

Daran ist nichts auszusetzen. So funktioniert PKCS12. PKCS12 ist ein Format für den sicheren Transport von Zertifikatsketten und privaten Schlüsseln zwischen Token. Der Schutz/die Verschlüsselung des privaten Schlüssels erfolgt über die Passphrase, die Sie bei der Aufforderung „Exportkennwort eingeben“ eingegeben haben. Nichts geht über doppelt verschlüsselte Schlüssel.

BEARBEITEN: Option weglassen -nodes. Dadurch wird die Verschlüsselung des privaten Schlüssels deaktiviert.

verwandte Informationen