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 selbst signiertes Zertifikat mit dem folgenden Befehl zu erstellen
openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
dann begann der folgende Fehler
Konfigurationsinformationen können nicht von /usr/local/ssl/openssl.cnf geladen werden
Dann, nachdem ich irgendwann googelt habe, habe ich den obigen Befehl in geändert
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 Verzeichnis:.\crypto\bio\bss_file.c: 126: fopen ('C:\OpenSSL\bin\openssl.conf', 'rb') 4220: Fehler: 2006D080: BIO-Routinen: BIO_new_file: kein solcher Datei:.\crypto\bio\bss_file.c: 129:
4220: Fehler: 0E078072: Routinen der Konfigurationsdatei: DEF_LOAD: Nein, Datei:.\crypto\conf\conf_def.c: 197:
Bitte helfen Sie uns. Vielen Dank im Voraus.
Unter Windows können Sie auch die Umgebungseigenschaft OPENSSL_CONF
einstellen. Zum Beispiel können Sie über die Befehlszeile Folgendes eingeben:
set OPENSSL_CONF=c:/libs/openssl-0.9.8k/openssl.cnf
um es zu bestätigen, können Sie Folgendes eingeben:
echo %OPENSSL_CONF%
Sie können es auch als Teil der Umgebungsvariablen des Computers festlegen, sodass es standardmäßig für alle Benutzer und Dienste verfügbar ist. Siehe zum Beispiel Umgebungsvariablen in Windows NT und So verwalten Sie Umgebungsvariablen in Windows XP .
Jetzt können Sie openssl-Befehle ausführen, ohne den Parameter config location übergeben zu müssen.
Fügen Sie einfach den Parameter -config c:\your_openssl_path\openssl.cfg
in Ihre Befehlszeile ein und ändern Sie your_openssl_path
in den tatsächlich installierten Pfad.
Erstellen Sie einfach eine openssl.cnf-Datei wie folgt in Schritt 4: http://www.flatmtn.com/article/setting-openssl-create-certificates
Edit after link funktionierte nicht mehr Der Inhalt der Datei openssl.cnf war folgender:
#
# OpenSSL configuration file.
#
# Establish working directory.
dir = .
[ ca ]
default_ca = CA_default
[ CA_default ]
serial = $dir/serial
database = $dir/certindex.txt
new_certs_dir = $dir/certs
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 365
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
default_bits = 1024 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ req_distinguished_name ]
# Variable name Prompt string
#------------------------- ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64
# Default values for the above, for consistency and less typing.
# Variable name Value
#------------------------ ------------------------------
0.organizationName_default = My Company
localityName_default = My Town
stateOrProvinceName_default = State or Providence
countryName_default = US
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
Sie können die Seite trotzdem mit Waybackmachine finden: https://web.archive.org/web/20171108102046/http://www.flatmtn.com/article/setting-openssl-create-certificates
Versuchen Sie einfach, openssl.exe als Administrator auszuführen.
set OPENSSL_CONF=c:/{path to openSSL}/bin/openssl.cfg
achten Sie auf die richtige Erweiterung (openssl.cfg nicht cnf)!
Ich habe OpenSSL von hier installiert: http://slproweb.com/products/Win32OpenSSL.html
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 installieren.
Führen Sie diese Befehle aus:
openssl req -config d:\Apache\conf\openssl.cnf -new -out d:\Apache\conf\server.csr -keyout d:\Apache\conf\server.pem
openssl rsa -in d:\Apache\conf\server.pem -out d:\Apache\conf\server.key
openssl x509 -in d:\Apache\conf\server.csr -out d:\Apache\conf\server.crt -req -signkey d:\Apache\conf\server.key -days 365
* Dadurch wird ein selbstsigniertes Zertifikat erstellt, das Sie für Entwicklungszwecke verwenden können
Wenn Sie Apache in der httpd.conf installiert haben, bleiben Sie wie folgt:
<IfModule ssl_module>
SSLEngine on
SSLCertificateFile "D:/Apache/conf/server.crt"
SSLCertificateKeyFile "D:/Apache/conf/server.key"
</IfModule>
Ich hatte gerade einen ähnlichen Fehler bei der Verwendung der Datei openssl.exe aus dem Ordner "Apache für Windows". Ich hatte das -config-Flag angegeben durch einen Tippfehler im Pfad der Datei openssl.cnf. Ich denke du wirst das finden
openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
sollte sein
openssl req -config "C:\OpenSSL\bin\openssl.cnf" -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Hinweis: Das conf sollte wahrscheinlich cnf sein.
Wenn die Installation von openssl erfolgreich war, suchen Sie nach "OPENSSL" im Laufwerk c, um die Konfigurationsdatei zu suchen, und legen Sie den Pfad fest.
set OPENSSL_CONF=<location where cnf is available>/openssl.cnf
Es hat für mich geklappt.
Das Problem hier ist, dass es ISN'T keine openssl.cnf -Datei gibt, die mit dem GnuWin32 openssl-Zeugs angegeben wurde. Du musst es schaffen. Wie Sie eine openssl.cnf -Datei erstellen, erfahren Sie hier:
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, der mit dem Backslash am Ende angegeben wird, gilt für UNIX. Für Windows: 1) Entfernen Sie den Backslash und 2) Verschieben Sie die zweite Zeile nach oben, so dass sie sich am Ende der ersten Zeile befindet. (Sie erhalten also nur einen Befehl.)
AUCH: Es ist sehr wichtig, die Kommentare durchzulesen. Es gibt einige Änderungen, die Sie möglicherweise basierend auf diesen Änderungen vornehmen möchten.
Diese Problemumgehung hat uns bei meinem Job (technischer Support) so sehr geholfen, dass wir eine einfache Batchdatei erstellt haben, die wir von überall ausführen können (Wir hatten nicht die Berechtigung, sie zu installieren). Diese Problemumgehung setzt die Variable und führt dann OpenSSL für Sie aus. Außerdem wird der bin-Ordner für Sie geöffnet (da hier alle Dateien gespeichert werden, die Sie erstellen oder ändern). Dies gilt auch nur für Windows.
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.
@echo off
title OpenSSL
cd\openssl\bin
if exist "C:\openssl\share\openssl.cnf" (
set OPENSSL_CONF=c:/openssl/share/openssl.cnf
start Explorer.exe c:\openssl\bin
echo Welcome to OpenSSL
openssl
) else (
echo Error: openssl.cnf was not found
echo File openssl.cnf needs to be present in c:\openssl\share
pause
)
exit
Wenn Sie einen Fehler sehen, so etwas
fehler in Zeile -1 c: apacheconfopenssl.cnf
versuchen Sie in der -config, vom hinteren Schrägstrich zum vorderen Schrägstrich zu wechseln.
https://github.com/xgqfrms-gildata/App001/issues/3
openssl.cnf
-Datei im richtigen Pfad befindet.$ echo %OPENSSL_CONF%
$ set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cnf
Führen Sie den Befehl als Administrator aus und kopieren Sie die Konfigurationsdatei an eine Stelle, an der Sie Leserechte haben, und geben Sie den Pfad mit dem Parameter -config an.
Ich weiß, dass dies alt ist - aber davon auszugehen, dass andere, die hier vorkommen (und Visual Studio verwenden), davon profitieren könnten. 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 Kodierung UTF-8 ist (d. H. Nicht UTF-8-BOM *).
Das hätte mir eine Menge Suchen/Trial'n'Ror erspart ...
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