Podczas korzystania z OpenSSL w systemie Windows:
openssl genrsa -out privatekey.pem 1024 -->
Utworzono pomyślnie
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
Pokazuje komunikat o błędzie jako
nie można załadować informacji o konfiguracji z /usr/local/ssl/openssl.cnf
windows
openssl
public-key-encryption
karthik
źródło
źródło
Odpowiedzi:
Po zainstalowaniu OpenSSL musiałem utworzyć nową zmienną środowiskową:
OPENSSL_CONF
C:\Program Files\OpenSSL\openssl.cnf
W PowerShell:
Ta wartość różni się od poprzednich wersji instalacyjnych (jak widać w poprzedniej edycji tego postu). Nie zapomnij również dodać folderu binarnego openssl
${env:ProgramFiles}\OpenSSL
do ścieżki.źródło
C:\OpenSSL-Win32\bin\openssl.cfg
zamiast tego użyć .C:\Program Files (x86)\Git\ssl\openssl.cfg
dla tych, którzy już mają git.SETX OPENSSL_CONF c:/libs/openssl-0.9.8k/openssl.cnf
Powinieneś określić bezwzględną ścieżkę do konfiguracji, coś takiego:
źródło
openssl.cfg
znajduje się w katalogu bin po instalacji. Ale z tym plikiem i tak wydaje się działać.-config "C:\Program Files (x86)\Git\ssl\openssl.cnf"
-config
flagi, to zadziałało dla mnieW systemie Windows 10 nie trzeba restartować ani uruchamiać w trybie administratora, ale zamiast tego ustaw konfigurację openssl w następujący sposób:
Oczywiście, jeśli używasz
GnuWin32
źródło
W systemie Windows [ podobny scenariusz ]
Miałem do czynienia z tym samym problemem, ale miało to miejsce podczas żądania żądania podpisania certyfikatu.
Zrobiłem poniżej, To zadziałało dla mnie.
Po zainstalowaniu OpenSSL, wiersz polecenia Ran jako administrator po ponownym uruchomieniu systemu. [Najlepiej zrobić zarówno .. uruchomić jako administrator i ponowne uruchomienie systemu]
zrobił, 1. [Przypadek błędu]
OSTRZEŻENIE: nie można otworzyć pliku konfiguracji: C: \ OpenSSL-Win64 \ bin \ openssl.cnf ORAZ Nie można załadować informacji o konfiguracji z C: \ OpenSSL-Win64 \ bin \ openssl.cnf
2. [Pracował z ostrzeżeniem]
Ale poprosił mnie o frazę hasła dla server.key To zadziałało dla mnie.
Odniosłem się, ten link do mojej pomocy.
Dziękuję Ci.
źródło
Tylko rzeczą, że pracował dla mnie w tej sytuacji był self-stworzony openssl.cnf plik .
Oto podstawy potrzebne do tego ćwiczenia (edytuj w razie potrzeby):
Mam nadzieję że to pomogło.
źródło
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 -config openssl.cnf
Po zainstalowaniu OpenSSL musisz ponownie uruchomić komputer i korzystać z niego
Run As Administrator
. Potem działa.źródło
Za pomocą narzędzi GnuWin32 znalazłem openssl.cnf pod C: \ gnuwin32 \ share
źródło
W przypadku systemu Windows 8 po prostu znalazłem plik openssl.cnf i skopiowałem go na dysk C. następnie:
Działał idealnie.
źródło
W Windows 7 nie musiałem restartować, po prostu uruchom wiersz polecenia w trybie administratora.
źródło
W moim przypadku muszę ręcznie ustawić ścieżkę pliku openssl.cnf w poleceniu za pomocą
config
opcji. Więc polecenieźródło
Jeśli używasz Win32 OpenSSL v1.1.0g , skonfiguruj tę zmienną środowiskową:
Przed uruchomieniem tego polecenia za pomocą „server.key” , pomyślne utworzenie „server.csr” :
źródło
Na podstawowe pytanie, dlaczego openssl nie został znaleziony: Krótka odpowiedź: Niektóre pakiety instalacyjne dla openssl mają domyślnie dołączony plik openssl.cnf. Inne pakiety nie. W tym drugim przypadku umieścisz jeden z linku pokazanego poniżej; W razie potrzeby możesz wprowadzić dodatkowe informacje specyficzne dla użytkownika - nazwę DNS itp.
Od https://www.openssl.org/docs/manmaster/man5/config.html, cytuję bezpośrednio:
„KONFIGURACJA BIBLIOTEKI OPENSSL
Aplikacje mogą automatycznie konfigurować niektóre aspekty OpenSSL przy użyciu głównego pliku konfiguracyjnego OpenSSL lub opcjonalnie alternatywnego pliku konfiguracyjnego. Narzędzie openssl zawiera tę funkcję: dowolne polecenie podrzędne używa głównego pliku konfiguracyjnego OpenSSL, chyba że w poleceniu podrzędnym jest używana opcja użycia alternatywnego pliku konfiguracyjnego.
Aby włączyć konfigurację biblioteki, sekcja domyślna musi zawierać odpowiednią linię wskazującą główną sekcję konfiguracji. Domyślna nazwa to openssl_conf, której używa narzędzie openssl. Inne aplikacje mogą używać alternatywnych nazw, takich jak myapplication_conf. Wszystkie wiersze konfiguracji biblioteki pojawiają się w sekcji domyślnej na początku pliku konfiguracyjnego.
Sekcja konfiguracji powinna składać się z zestawu par nazw wartości, które zawierają określone informacje o konfiguracji modułu. Nazwa reprezentuje nazwę modułu konfiguracji. Znaczenie tej wartości jest specyficzne dla modułu: może na przykład reprezentować kolejną sekcję konfiguracji zawierającą informacje specyficzne dla modułu konfiguracji. Na przykład:"
Wygląda więc na to, że należy samodzielnie skonfigurować openssl.cnf zgodnie z nazwą wyróżniającą (DN) oraz innymi wpisami specyficznymi dla twojego zastosowania.
Oto plik szablonu, z którego można wygenerować openssl.cnf z określonymi wpisami.
Jedna aplikacja faktycznie ma instalację demonstracyjną, która zawiera plik demonstracyjny .cnf.
Ponadto, jeśli chcesz programowo uzyskać dostęp do plików .cnf, możesz dołączyć odpowiednie nagłówki --openssl / conf.h-- i przeanalizować pliki .cnf za pomocą
Oto dokumentacja dla „CONF_modules_load_file”;
źródło
Dla mnie wstaw zmienną przed wywołaniem zrobiłem lewę:
źródło
W Windows Powershell:
źródło