Beim Generieren des privaten Schlüssels mit diesem Befehl
genrsa -out my-prvkey.pem 1024
Es wirft den Fehler wie unten
Laden Sie 'screen' in den zufälligen Zustand - fertig Generieren eines privaten RSA-Schlüssels mit einem 1024-Bit-Modul ................................ ......... +++++++ ........................... +++++++ ++ nicht in der Lage, 'zufälligen Zustand' zu schreiben e ist 65537 (0 * 10001)
Dies macht Probleme beim Erstellen eines öffentlichen Zertifikats. Ich führe diesen Befehl in Windows aus. Kann mir jemand bei der Lösung helfen?
Antworten:
Die schnellste Lösung ist: Setzen Sie die Umgebungsvariable RANDFILE auf den Pfad, in den die 'Random State' -Datei geschrieben werden kann (überprüfen Sie natürlich die Dateizugriffsberechtigungen), z. in Ihrer Eingabeaufforderung:
Weitere Erklärungen: OpenSSL unter Windows versucht, die 'Random State'-Datei in der folgenden Reihenfolge zu speichern:
Ich bin mir ziemlich sicher, dass es in Ihrem Fall letztendlich versucht, es in C: \. Rnd zu speichern (und es schlägt fehl, weil keine ausreichenden Zugriffsrechte vorhanden sind). Leider druckt OpenSSL nicht den Pfad, der tatsächlich in Fehlermeldungen verwendet werden soll.
quelle
HOME
ausreichend war.)$env:RANDFILE = 'C:\MyDir\.rnd'
(In PowerShellset
ist ein Alias,Set-Variable
der nichts mit Umgebungsvariablen zu tun hat!)Möglicherweise müssen Sie die Konsole auch als Administrator ausführen. Halten ctrl+shiftSie unter Windows 7 gedrückt, wenn Sie das Konsolenfenster starten.
quelle
Geben Sie einfach diese Zeile in die Befehlszeile ein:
quelle
Oder dies in Windows Powershell
quelle
Ich habe nicht gefunden, wo sich die .rnd-Datei befindet, also habe ich die cmd als Administrator ausgeführt und es hat wie ein Zauber funktioniert.
quelle
Laden Sie openssl für Windows von https://code.google.com/archive/p/openssl-for-windows/downloads herunter
Setzen Sie die Umgebungsvariable auf die Pfadvariable als path = "C: \ your_folder \ openssl-0.9.8k_X64 \ bin".
Führen Sie die folgenden Befehle auf demselben Pfad wie bin aus
quelle