Ich arbeite mit Apache2 und Passenger für ein Rails-Projekt. Ich möchte zu Testzwecken ein selbstsigniertes SSL-Zertifikat erstellen .
sudo openssl rsa -des3 -in server.key -out server.key.new
Wenn ich den obigen Befehl eingebe, heißt es
writing RSA key
Enter PEM pass phrase:
Wenn ich die Passphrase nicht eingebe, erhalte ich den folgenden Fehler
unable to write key
3079317228:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:Yo
u must type in 4 to 1024 characters
3079317228:error:0906406D:PEM routines:PEM_def_callback:problems getting passwor
d:pem_lib.c:111:
3079317228:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:382
Ist es möglich, einen RSA-Schlüssel ohne Angabe zu generieren pass phrase
, da ich nicht sicher bin, wie das /etc/init.d/httpd
Skript den HTTP-Server ohne menschliches Eingreifen startet (dh, wenn ich eine 4-stellige Passphrase gebe, erwarte ich dies beim Starten des Apache-HTTP-Servers ).
openssl
auf, einen vorhandenen Schlüssel zu verschlüsseln. Das klingt nach etwas anderem als dem, was Sie wollen.Antworten:
Wenn Sie ein selbstsigniertes Zertifikat generieren, können Sie den Schlüssel und das Zertifikat in einem Befehl wie folgt ausführen:
Oh, und was @MadHatter in seiner Antwort über das Weglassen der
-des3
Flagge gesagt hat .quelle
Lassen Sie das
-des3
Flag weg , das eine Anweisung an openssl ist, server.key.new zu verschlüsseln (was übrigens überhaupt kein neuer Schlüssel ist - es ist genau dasselbe wie server.key, nur mit geänderter / entfernter Passphrase). .quelle
Der
openssl req
Befehl aus der Antwort von @Tom H ist korrekt, um ein selbstsigniertes Zertifikat zu erstellenserver.cert
. einen passwortlosen privaten RSA-Schlüssel fürserver.key
:So funktioniert es. Weglassen ,
-des3
wie in der Antwort von @MadHatter ist in diesem Fall nicht genug , um einen privaten Schlüssel ohne Passwort zu erstellen. Es ist genug für diesen Zweck in demopenssl rsa
( „einen privaten Schlüssel umwandeln“) Befehl von @MadHatter bezeichnet und demopenssl genrsa
( „einen privaten Schlüssel erstellen“) Befehl. Nur nicht für denopenssl req
Befehl hier. Wir benötigen zusätzlich-nodes
("Keine DES-Verschlüsselung vonserver.key
bitte!").quelle
Verwenden Sie den
-nodes
Parameter. Wenn diese Option angegeben ist, wird der private Schlüssel nicht verschlüsselt. Beispiel:quelle
Führen Sie es einfach noch einmal durch openssl
Generieren Sie zuerst den Schlüssel mit der Passphrase
dann
openssl rsa -in server.key -out server.key
quelle
openssl
durchzugeben. Auf diese Weise wird das Ziel erreicht, nach dem gefragt wurde: Einen Schlüssel ohne Passphrase zu generieren.openssl
unter Windows 10 von GitBash. Danke für die Information.Verwenden Sie den nächsten Befehl, um eine kennwortlose private Schlüsseldatei ohne Verschlüsselung zu generieren . Der letzte Parameter ist die Größe des privaten Schlüssels.
quelle
4096 -des3
durch4096 -sillywombat
und es funktioniert immer noch und erzeugt das gleiche Format, immer noch unverschlüsselt (aber natürlich einen anderen Schlüsselwert). Es gibt keine Möglichkeit, eine kennwortlos verschlüsselte private Schlüsseldatei zu haben, und vor sechs Jahren wurden die richtigen Lösungen für eine kennwortlos unverschlüsselte Datei angegeben.