it-swarm.com.de

Die Konfigurationsdatei /usr/local/ssl/openssl.cnf kann unter Windows nicht geöffnet werden

Ich habe OpenSSL 64 installiert. Ich möchte ein Zertifikat für den https-Server meines Knotens verwenden. Ich habe folgenden Befehl ausgeführt:

openssl genrsa -out subdomain.domain.com.key 1024

Aber ich habe den Fehler bekommen:

WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
.........++++++
.........................................++++++
unable to write 'random state'
e is 65537 (0x10001)

Wie kann ich das beheben?
Ist das der richtige Befehl?

134
Himanshu Yadav

Die Lösung führt diesen Befehl aus:

set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg   

oder

set OPENSSL_CONF=[path-to-OpenSSL-install-dir]\bin\openssl.cfg

in der Eingabeaufforderung vor der Verwendung des Befehls openssl.

Teilen Sie openssl mit, wo sich die Datei .cfg Befindet.

Alternativ können Sie dieselbe Variable OPENSSL_CONF In den Windows-Umgebungsvariablen festlegen.

HINWEIS: Dies kann passieren, wenn Sie die OpenSSL-Binärdistribution von Shining Light Productions (eine kompilierte + Installationsversion der offiziellen OpenSSL, die kostenlos heruntergeladen und verwendet werden kann) verwenden. Diese Distribution ist "semi-offiziell" von der OpenSSL-Site als "Dienst in erster Linie für Betriebssysteme verknüpft, auf denen keine vorkompilierten OpenSSL-Pakete vorhanden sind".

238
DavAlPi

Ich habe SSL unter Apache 2.4.4 und habe diesen Code zuerst ausgeführt.
set OPENSSL_CONF=C:\wamp\bin\Apache\Apache2.4.4\conf\openssl.cnf

führen Sie dann die Restcodes aus.

16
komu_Mkeya

/usr/local/ssl/openssl.cnf

Ein solcher Pfad bedeutet, dass das Programm entweder mit Cygwin oder MSYS kompiliert wurde. Wenn Sie dieses openssl verwenden müssen, benötigen Sie einen Interpreter, der diese Pfade versteht, wie Bash, der von Cygwin oder MSYS bereitgestellt wird.

Eine andere Möglichkeit wäre, eine Windows Native-Version von openssl herunterzuladen oder zu kompilieren. Damit würde das Programm stattdessen einen Pfad wie diesen benötigen

C:\Users\Steven\ssl\openssl.cnf

das wäre besser für die Eingabeaufforderung geeignet.

8
Steven Penny

In meinem Fall habe ich die Binaries von Shining Light verwendet und die Umgebungsvariablen wurden bereits aktualisiert. Hatte aber noch das Problem, bis ich ein Befehlsfenster mit erhöhten Rechten laufen ließ.

Wenn Sie das CMD-Fenster öffnen, müssen Sie es als Administrator ausführen. (Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung im Startmenü und wählen Sie "Als Administrator ausführen".)

Ich denke, es kann die Dateien aufgrund der Benutzerkontensteuerung nicht lesen.

7
FlyBy

LÖSUNG!

setze einfach -config Parameterposition korrekt, d.h.

openssl ....................  -config C:\bin\Apache\apache2.4.9\conf\openssl.cnf
4
T.Todua

Ich bin mir nicht sicher, was der Unterschied zwischen .cfg und .cnf ist. Auf meinem Server konnte ich .cfg oder .cnf nicht finden. Ich habe eine neue Datei für dasselbe erstellt und sie in den folgenden Ordner gelegt. /usr/local/ssl/bin

das ausgeführt

.\openssl genrsa -des3 -out <key name>.key 2048 

ist super gelaufen ..

3
Dev

Installieren Sie einfach Win64 OpenSSL v1.0.2a oder Win32 OpenSSL v1.0.2a. Sie können diese von http://slproweb.com/products/Win32OpenSSL.html herunterladen. Funktioniert sofort, keine Konfiguration erforderlich.

1
autremoi