Während der Verwendung von OpenSSL unter Windows:
openssl genrsa -out privatekey.pem 1024 -->
Erfolgreich erstellt
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
Zeige Fehlermeldung als
konfigurationsinformationen können nicht von /usr/local/ssl/openssl.cnf geladen werden
Nach der Installation von OpenSSL musste ich eine neue Umgebungsvariable erstellen:
OPENSSL_CONF
C:\Program Files\OpenSSL\openssl.cnf
In Powershell:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"
Dieser Wert unterscheidet sich von früheren Installationsversionen (wie in einer früheren Bearbeitung dieses Beitrags zu sehen). Vergessen Sie auch nicht, den OpenSSL-Binärordner ${env:ProgramFiles}\OpenSSL
zu deinem Pfad.
Sie sollten den absoluten Pfad zur Konfiguration wie folgt angeben:
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
In Windows 10 müssen Sie weder neu starten noch im Administratormodus ausführen. Stattdessen müssen Sie openssl config wie folgt festlegen:
set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
Natürlich, wenn Sie GnuWin32
In Windows [ Ähnliches Szenario ]
Ich hatte das gleiche Problem, aber es war während der Anforderung der Zertifikatsignierungsanforderung.
Ich habe das Folgende getan, es hat für mich funktioniert.
Sobald OpenSSL installiert ist, kann der Befehl "Ran" als Administrator nach dem Neustart des Systems eingegeben werden.
tat, 1. [Fehlerfall]
C:\OpenSSL-Win64\bin>openssl req -new -key server.key -out server.csr
WARNUNG: Konfigurationsdatei kann nicht geöffnet werden: C:\OpenSSL-Win64\bin\openssl.cnf UND Konfigurationsinformationen können nicht aus C:\OpenSSL-Win64\bin\openssl.cnf geladen werden
2. [Mit Warnung gearbeitet]
C:\OpenSSL-Win64\bin> openssl req -new -key server.key -out server.csr -config C:\OpenSSL-Win64\bin\openssl.cfg
[Warnmeldung]: WARNUNG: Konfigurationsdatei kann nicht geöffnet werden: C:\OpenSSL-Win64\bin\openssl.cnf
Aber hat mich zur Eingabe des Passphrase für server.key aufgefordert. Es hat bei mir funktioniert .
Ich bezog mich auf This link für meine Hilfe.
Danke.
Nach der Installation von OpenSSL müssen Sie Ihren Computer neu starten und Run As Administrator
. Dann funktioniert es.
Das nur, was in dieser Situation für mich funktioniert hat, war das selbst erstellt openssl.cnf Datei.
Hier sind die Grundlagen für diese Übung (nach Bedarf bearbeiten):
#
# 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
Ich hoffe das hilft.
Mit den GnuWin32-Tools fand ich die openssl.cnf unter C:\gnuwin32\share
set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf
Für mich unter Windows 8 habe ich einfach die Datei openssl.cnf gefunden und auf das Laufwerk C kopiert. dann:
openssl req -new -key server.key -out server.csr -config C:\openssl.cnf
Hat perfekt funktioniert.
In Windows 7 musste ich nicht neu starten. Führen Sie einfach die Eingabeaufforderung im Administratormodus aus.
In meinem Fall muss ich den Pfad der Datei openssl.cnf manuell im Befehl mit der Option config
festlegen. Also der Befehl
openssl req -x509 -config "C:\Users\sk\Downloads\openssl-0.9.8k_X64\openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900
Wenn Sie Win32 OpenSSL v1.1.0g verwenden, richten Sie diese Umgebungsvariable ein:
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\cnf\openssl.cnf
Bevor Sie diesen Befehl mit "server.key" ausführen, erstellen Sie erfolgreich "server.csr":
openssl req -new -key server.key -out server.csr
Für mich hat put variable vor dem Aufruf den Trick gemacht:
OPENSSL_CONF=/usr/ssl/openssl.cnf openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365