Ich verwende Windows XP 32bit
Ich habe gerade Openssl von der folgenden URL heruntergeladen und installiert. http://www.slproweb.com/products/Win32OpenSSL.html
und dann habe ich versucht, ein selbstsigniertes Zertifikat mit dem folgenden Befehl zu erstellen
openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
dann begann es den folgenden Fehler zu geben
Konfigurationsinformationen können nicht aus /usr/local/ssl/openssl.cnf geladen werden
Dann, nachdem ich irgendwann gegoogelt hatte, änderte ich den obigen Befehl in
openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Aber jetzt bekomme ich den folgenden Fehler in der Eingabeaufforderung
Fehler in Zeile -1 von C: \ OpenSSL \ bin \ openssl.conf
4220: Fehler: 02001002: Systembibliothek: fopen: Keine solche Datei oder kein solches Verzeichnis :. \ crypto \ bio \ bss_file.c: 126: fopen ('C: \ OpenSSL \ bin \ openssl.conf ',' rb ') 4220: Fehler: 2006D080: BIO-Routinen: BIO_neue_Datei: Keine solche Datei :. \ Crypto \ bio \ bss_file.c: 129:
4220: Fehler: 0E078072: Routinen für Konfigurationsdateien : DEF_LOAD: Keine solche Datei :. \ Crypto \ conf \ conf_def.c: 197:
Bitte helfen Sie. Danke im Voraus.
Antworten:
Unter Windows können Sie auch die Umgebungseigenschaft festlegen
OPENSSL_CONF
. Über die Befehlszeile können Sie beispielsweise Folgendes eingeben:Um es zu validieren, können Sie Folgendes eingeben:
Sie können es auch als Teil der Umgebungsvariablen des Computers festlegen, damit es allen Benutzern und Diensten standardmäßig zur Verfügung steht. Siehe beispielsweise Umgebungsvariablen in Windows NT und Verwalten von Umgebungsvariablen in Windows XP .
Jetzt können Sie openssl-Befehle ausführen, ohne den Parameter config location übergeben zu müssen.
quelle
set
ist ein Windows-Befehl, der ausgeführt werden sollcmd.exe
. Auf einem Nicht-Windows-Computer funktioniert dies nicht. Dasset
undecho
-Ding funktioniert auch in Power Shell nicht. Sie würden so etwas wie verwenden$X=1; Write-Output $X
.Fügen Sie einfach den Parameter zu Ihrer Befehlszeile hinzu
-config c:\your_openssl_path\openssl.cfg
und wechseln Sieyour_openssl_path
zum tatsächlich installierten Pfad.quelle
$ openssl ca -in server.csr -config /etc/ssl/openssl.cnf
Aber warum wird diese -config nicht in man openssl aufgelistet? openssl.org/docs/apps/openssl.htmlErstellen Sie einfach selbst eine openssl.cnf-Datei wie folgt in Schritt 4: http://www.flatmtn.com/article/setting-openssl-create-certificates
Bearbeiten, nachdem der Link nicht mehr funktioniert Der Inhalt der Datei openssl.cnf war wie folgt:
quelle
Achten Sie auf die richtige Erweiterung ( openssl.cfg nicht cnf)!
Ich habe OpenSSL von hier aus installiert: http://slproweb.com/products/Win32OpenSSL.html
quelle
Wenn Sie Apache mit OpenSSL installiert haben, navigieren Sie zum Verzeichnis bin. In meinem Fall D: \ apache \ bin.
* * Diese Befehle funktionieren auch, wenn Sie openssl eigenständig installiert haben.
Führen Sie die folgenden Befehle aus:
* * Dadurch wird ein selbstsigniertes Zertifikat erstellt, das Sie für Entwicklungszwecke verwenden können
Wenn Sie Apache in der httpd.conf installiert haben, halten Sie Folgendes fest:
quelle
Versuchen Sie einfach, openssl.exe als Administrator auszuführen.
quelle
C:\Program Files\Common Files\SSL/openssl.cnf
und als es dann als Administrator ausgeführt wurde, war es ihm plötzlich egal, dass es es nicht finden konnte (und die Datei auch nicht erstellt hat), aber das hat bei mir funktioniert, also ist es mir egal entweder.Ich hatte gerade einen ähnlichen Fehler bei der Verwendung der Datei openssl.exe aus dem Ordner Apache for Windows bin. Ich hatte das Flag -config angegeben durch einen Tippfehler im Pfad der Datei openssl.cnf. Ich denke, das wirst du finden
sollte sein
Hinweis: Die conf sollte wahrscheinlich cnf sein .
quelle
Wenn die openssl-Installation erfolgreich war, suchen Sie im Laufwerk c nach "OPENSSL", um die Konfigurationsdatei zu suchen und den Pfad festzulegen.
Es hat für mich geklappt.
quelle
Diese Problemumgehung hat uns bei meiner Arbeit (technischer Support) so sehr geholfen, dass wir eine einfache Batch-Datei erstellt haben, die wir von überall aus ausführen konnten (wir hatten nicht die Berechtigung, sie zu installieren). Diese Problemumgehung legt die Variable fest und führt dann OpenSSL für Sie aus. Außerdem wird der Ordner bin für Sie geöffnet (hier werden alle von Ihnen erstellten oder geänderten Dateien gespeichert). Dies gilt auch nur für Windows.
Wie stellt man das ein:
Kopieren Sie diesen Code in eine Datei mit dem Namen StartOpenSSL.bat. Speichern Sie dies an einem Ort Ihrer Wahl. Es kann von überall ausgeführt werden.
quelle
Das Problem hierbei ist, dass es KEINE openssl.cnf-Datei gibt, die mit dem gnuWin32 openssl-Zeug angegeben ist. Du musst es schaffen. Hier erfahren Sie, wie Sie eine openssl.cnf-Datei erstellen:
http://www.flatmtn.com/article/setting-ssl-certificates-apache
Wo es alles für Sie darlegt, wie es geht.
BITTE BEACHTEN SIE: Der Befehl openssl mit dem Backslash am Ende gilt für UNIX. Für Windows: 1) Entfernen Sie den Backslash und 2) Verschieben Sie die zweite Zeile nach oben, so dass sie am Ende der ersten Zeile steht. (Sie erhalten also nur einen Befehl.)
AUCH: Es ist SEHR wichtig, die Kommentare durchzulesen. Es gibt einige Änderungen, die Sie basierend darauf vornehmen möchten.
quelle
Ich hatte das gleiche Problem unter Windows. Es wurde behoben, indem die Umgebungsvariable wie folgt festgelegt wurde:
Variablenname: OPENSSL_CONF Variablenwert: C: (OpenSSl-Verzeichnis) \ bin \ openssl.cnf
quelle
Wenn Sie so etwas wie einen Fehler sehen
Versuchen Sie, in der -config vom hinteren zum vorderen Schrägstrich zu wechseln.
quelle
https://github.com/xgqfrms-gildata/App001/issues/3
openssl.cnf
Datei im richtigen Pfad befindet.quelle
Führen Sie den Befehl als Administrator aus, kopieren Sie die Konfigurationsdatei an eine Stelle, an der Sie Leserechte haben, und geben Sie den Pfad mit dem Parameter -config an.
quelle
Ich weiß, dass dies alt ist - aber ich dachte, andere, die dies tun (und Visual Studio verwenden), könnten davon profitieren. Ich habe dies in einem anderen Beitrag gelesen, den ich scheinbar nicht finde.
Öffnen Sie Ihre Konfiguration in Notepad ++ und stellen Sie sicher, dass die Codierung UTF-8 ist (dh nicht UTF-8-BOM *).
Das hätte mir viel Suchen / Ausprobieren erspart ...
quelle
Ich weiß, dass diese Frage alt ist, aber hier ist, wie ich sie gelöst habe.
Ich habe die
openssl.cnf
Datei aus dembin
Verzeichnis in das übergeordnete Verzeichnis kopiert, wasC:/Openssl/openssl.cnf
stattdessenC:/Openssl/bin/openssl.cnf
funktioniert hat.quelle