Bei 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
---->
Fehlermeldung als anzeigen
Konfigurationsinformationen können nicht aus /usr/local/ssl/openssl.cnf geladen werden
windows
openssl
public-key-encryption
karthik
quelle
quelle
Antworten:
Nach der Installation von OpenSSL musste ich eine neue Umgebungsvariable erstellen:
OPENSSL_CONF
C:\Program Files\OpenSSL\openssl.cnf
In Powershell:
Dieser Wert unterscheidet sich von früheren Installationsversionen (wie in einer früheren Bearbeitung dieses Beitrags gezeigt). Vergessen Sie auch nicht, den Binärordner openssl
${env:ProgramFiles}\OpenSSL
zu Ihrem Pfad hinzuzufügen .quelle
C:\OpenSSL-Win32\bin\openssl.cfg
stattdessen verwenden.C:\Program Files (x86)\Git\ssl\openssl.cfg
für diejenigen, die schon mit Git sind.SETX OPENSSL_CONF c:/libs/openssl-0.9.8k/openssl.cnf
Sie sollten den absoluten Pfad zur Konfiguration wie folgt angeben:
quelle
openssl.cfg
in dem Verzeichnis ist nach der Installation. Aber mit dieser Datei scheint es trotzdem zu funktionieren.-config "C:\Program Files (x86)\Git\ssl\openssl.cnf"
-config
Flagge verwendet werden soll, das hat bei mirIn Windows 10 müssen Sie weder neu starten noch im Administratormodus ausführen, sondern müssen die openssl-Konfiguration wie folgt festlegen:
Natürlich, wenn Sie verwenden
GnuWin32
quelle
In Windows [ Ähnliches Szenario ]
Ich hatte das gleiche Problem, aber es war während der Anforderung einer Zertifikatsignierungsanforderung.
Ich habe das Folgende getan, es hat bei mir funktioniert.
Nach der Installation von OpenSSL wird die Eingabeaufforderung als Administrator nach dem Neustart des Systems ausgeführt.
tat, 1. [Fehlerfall]
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. [Arbeitete mit Warnung]
Aber mich dazu veranlasst für die Passphrase für server.key Es funktionierte für mich.
Ich verwies auf diesen Link für meine Hilfe.
Danke dir.
quelle
Das einzige, was in dieser Situation für mich funktioniert hat, war die selbst erstellte Datei openssl.cnf .
Hier sind die Grundlagen für diese Übung (nach Bedarf bearbeiten):
Ich hoffe das hilft.
quelle
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 -config openssl.cnf
Nach der Installation von OpenSSL müssen Sie Ihren Computer neu starten und verwenden
Run As Administrator
. Dann funktioniert es.quelle
Mit den GnuWin32-Tools fand ich die openssl.cnf unter C: \ gnuwin32 \ share
quelle
Unter Windows 8 habe ich einfach die Datei openssl.cnf gefunden und auf das Laufwerk C kopiert. dann:
Hat perfekt funktioniert.
quelle
In Windows 7 musste ich nicht neu starten, sondern einfach die Eingabeaufforderung im Administratormodus ausführen.
quelle
In meinem Fall muss ich den Pfad der Datei openssl.cnf manuell für den Befehl mit der
config
Option festlegen . Also der Befehlquelle
Wenn Sie Win32 OpenSSL v1.1.0g verwenden , richten Sie diese Umgebungsvariable ein:
Bevor Sie diesen Befehl mit "server.key" ausführen , erstellen Sie erfolgreich "server.csr" :
quelle
Zur grundlegenden Frage, warum openssl nicht gefunden wird: Kurze Antwort: In einigen Installationspaketen für openssl ist standardmäßig die Datei openssl.cnf enthalten. Andere Pakete nicht. Im letzteren Fall fügen Sie einen über den unten gezeigten Link ein. Sie können bei Bedarf zusätzliche benutzerspezifische Details eingeben - DNS-Name usw.
Von https://www.openssl.org/docs/manmaster/man5/config.html zitiere ich direkt:
"OPENSSL LIBRARY CONFIGURATION
Anwendungen können bestimmte Aspekte von OpenSSL automatisch mithilfe der OpenSSL-Hauptkonfigurationsdatei oder optional einer alternativen Konfigurationsdatei konfigurieren. Das Dienstprogramm openssl enthält diese Funktionalität: Jeder Unterbefehl verwendet die OpenSSL-Hauptkonfigurationsdatei, es sei denn, im Unterbefehl wird eine Option zur Verwendung einer alternativen Konfigurationsdatei verwendet.
Um die Bibliothekskonfiguration zu aktivieren, muss der Standardabschnitt eine entsprechende Zeile enthalten, die auf den Hauptkonfigurationsabschnitt verweist. Der Standardname lautet openssl_conf, der vom Dienstprogramm openssl verwendet wird. Andere Anwendungen verwenden möglicherweise einen alternativen Namen wie myapplication_conf. Alle Bibliothekskonfigurationszeilen werden im Standardabschnitt am Anfang der Konfigurationsdatei angezeigt.
Der Konfigurationsabschnitt sollte aus einer Reihe von Name-Wert-Paaren bestehen, die spezifische Informationen zur Modulkonfiguration enthalten. Der Name steht für den Namen des Konfigurationsmoduls. Die Bedeutung des Werts ist modulspezifisch: Er kann beispielsweise einen weiteren Konfigurationsabschnitt darstellen, der spezifische Informationen zum Konfigurationsmodul enthält. Z.B:"
Es scheint also, dass man openssl.cnf zusammen mit Ihrem Distinguished Name (DN) zusammen mit anderen für Ihre Verwendung spezifischen Einträgen selbst konfigurieren muss.
Hier ist die Vorlagendatei, aus der Sie openssl.cnf mit Ihren spezifischen Einträgen generieren können.
Eine Anwendung verfügt tatsächlich über eine Demo-Installation, die eine Demo-CNF-Datei enthält.
Wenn Sie programmgesteuert auf .cnf-Dateien zugreifen müssen, können Sie außerdem die entsprechenden Header --openssl / conf.h-- einfügen und Ihre .cnf-Dateien mit analysieren
Hier sind Dokumente für "CONF_modules_load_file";
quelle
Für mich hat die Variable vor dem Aufruf den Trick gemacht:
quelle
Unter Windows Powershell:
quelle