Wie erstelle ich mit OpenSSL aus Powershell ein Zertifikat, ohne dass der Benutzer zur Eingabe einer Passphrase aufgefordert wird?

Wie erstelle ich mit OpenSSL aus Powershell ein Zertifikat, ohne dass der Benutzer zur Eingabe einer Passphrase aufgefordert wird?

Ich richte eine Entwicklungs-VDI ein und muss die Erstellung einiger Zertifikate für den Zugriff auf https://{foo}.local-Websites (127.0.0.1) während der Entwicklung und des Tests automatisieren.

Ich darf nur OpenSSL und Powershell verwenden und es muss unbeaufsichtigt sein. Ich muss dies ausführen, um die Einrichtung eines Entwickler-VDI zu automatisieren, darf also keine Benutzeraufforderungen enthalten.

Ich habe jede Menge Code mit Beispielen der folgenden Art gefunden, kann aber keine Möglichkeit finden, die zu verwendende Passphrase zu übergeben;

das ist, was ich bisher habe ...

openssl 
   req -x509 -newkey rsa:4096 -keyout 
   openssl.key -out openssl.crt -subj /CN=website.name 
   -days 300

Anschließend folgt die Erstellung des eigentlichen Zertifikats

openssl pck12 -export .... etc

Wie erwähnt muss ich in der Lage sein, eine Passphrase bereitzustellen, damit das oben genannte ohne Benutzereingriff ausgeführt wird. Der obige Code wird wie erwartet ausgeführt, zeigt aber die Eingabeaufforderung für die Passphrase an.

ich habe verschiedene, -passin {xyz}sogar -password pass:mysecretet al-Einstellungen ausprobiert, ohne Erfolg.

Irgendwelche Ideen? Danke, A

Antwort1

Fügen Sie den Parameter -nodeszu Ihrem OpenSSL-Befehl hinzu.

openssl 
   req -x509 -newkey rsa:4096 -nodes -keyout 
   openssl.key -out openssl.crt -subj /CN=website.name 
   -days 300

Dadurch wird die Verschlüsselung des privaten Schlüssels übersprungen. Sie werden nicht zur Eingabe einer Passphrase aufgefordert.

verwandte Informationen