openssl pkcs12 entfernt ständig die PEM-Passphrase aus dem Keystore-Eintrag?

7915
XXL

OpenSSL 1.0.1e 11 Feb 2013

Selbstsigniertes Zertifikat erstellen:

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

Während des Prozesses wird eine PEM-Passphrase angefordert:

PEM-
Passphrase eingeben : Bestätigen - PEM-Passphrase eingeben:

Nach erfolgreichem Abschluss im PEM- Format gibt es 2 Ergebnisdateien :

key.pem, cert.pem

Der private Schlüssel ( key.pem ) liegt im PKCS # 8- Format vor und die Startzeile lautet:

----- BEGIN ENCRYPTED PRIVATE KEY -----

Jetzt versuche ich, das Zertifikat sowie den zugehörigen privaten Schlüssel in einem PKCS # 12- Keystore zu kombinieren und den Keystore mit einem Kennwort zu schützen . Hinweis - Nach meinem Verständnis sollte dies die Anforderung eines Kennworts während des Lesezugriffs sowie eine Passphrase für den privaten Schlüssel des entsprechenden Eintrags effektiv erzwingen :

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

Bei der Ausführung werde ich gefragt:

Passphrase für key.pem eingeben:
Exportkennwort
eingeben : Bestätigen - Exportkennwort eingeben:

Ich verstehe jedoch, dass die Passphrase für den privaten Schlüssel, der jetzt in der Datei keystore.p12 gespeichert wird, erhalten bleiben sollte . So versuche ich, den Inhalt des Schlüsselspeichers zu lesen:

openssl pkcs12 -nodes -info -in keystore.p12

Die Ausgabe, die ich bekomme (bezieht sich nur auf den Schutz des Keystores mit einem Passwort ):

Import-Passwort eingeben:

Und listet das Zertifikat sowie den privaten Schlüssel im PEM-Format auf, ohne die Passphrase für letzteres anzufordern . Das ist im Grunde das Problem. Die PEM-Passphrase ist für den privaten Schlüssel nicht mehr vorhanden . Was mache ich falsch oder wie kann ich das beheben? Vielen Dank.

2

1 Antwort auf die Frage

4
nudzo

Da ist nichts falsch. So funktioniert PKCS12. PKCS12 ist ein Format für den sicheren Transport von Zertifikatsketten und privaten Schlüsseln zwischen Tokens. Der Schutz / die Verschlüsselung des privaten Schlüssels erfolgt über die Passphrase, die Sie bei der Aufforderung nach "Enter Export Password" eingegeben haben. Nichts wie doppelt verschlüsselte Schlüssel.

BEARBEITEN: -nodesOption auslassen . Dadurch wird die Verschlüsselung des privaten Schlüssels deaktiviert.

Ich bin mir ziemlich sicher, dass ich einmal aufgefordert wurde, eine ** PEM-Passphrae ** einzugeben, wenn ich ** - Info ** für ein paar **. P12 ** -Dateien (ich kann die genauen Schritte, die ich ausgeführt habe, nicht wiederholen) löse es aber aus, warum ich gepostet habe) XXL vor 10 Jahren 0
Versuchen Sie dasselbe mit NSS certutil und pk12util ... Sie erhalten dasselbe Verhalten wie ich bereits erwähnt habe. Wenn nach * PEM-Pass * gefragt wurde, war dies, als Sie Dinge aus PKCS12 ... exportierten und im PEM-Format codiert speichern. * -info * ist "geben Sie Informationen über die Struktur von PKCS # 12", nicht den Export. nudzo vor 10 Jahren 0
Ich verwende nur ** - info **, um den Inhalt des Schlüsselspeichers aufzulisten, und ich versichere Ihnen, dass ich dazu aufgefordert wurde, eine ** PEM ** - Passphrase einzugeben (ich träume nicht, deshalb gebe ich aus Kopfgeld zu dieser Frage) - ** SafeBag ** -Container ** sollten ** auch ein Passwort enthalten. XXL vor 10 Jahren 0
Zufällig musste ich gestern ein paar Aktualisierungen vornehmen und erkannte, worum es bei deinen Fragen geht ... Antwort oben in Bearbeitung. nudzo vor 10 Jahren 0
Ich denke, Sie haben es geknackt :) Ich habe nur noch eine Frage - wird sich ** JKS ** voraussichtlich genauso verhalten wie in, es unterstützt auch nicht den Schutz von cert / privkey-Paaren mit einem eigenständigen Passwort? Vielleicht sind Sie auch zufällig darauf gekommen XXL vor 10 Jahren 0