Używam Windows XP 32bit
Właśnie pobrałem Openssl z następującego adresu URL i zainstalowałem go. http://www.slproweb.com/products/Win32OpenSSL.html
a następnie próbowałem utworzyć certyfikat z podpisem własnym za pomocą następującego polecenia
openssl req -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
potem zaczął wyświetlać następujący błąd
Nie można załadować informacji konfiguracyjnych z /usr/local/ssl/openssl.cnf
Potem po googlowaniu kiedyś zmieniłem powyższe polecenie na
openssl req -config C:\OpenSSL\bin\openssl.conf -x509 -days 365 -newkey rsa:1024 -keyout hostkey.pem -nodes -out hostcert.pem
Ale teraz pojawia się następujący błąd w wierszu polecenia
błąd w linii -1 C: \ OpenSSL \ bin \ openssl.conf
4220: błąd: 02001002: biblioteka systemowa: fopen: Nie ma takiego pliku lub katalogu:. \ crypto \ bio \ bss_file.c: 126: fopen ('C: \ OpenSSL \ bin \ openssl.conf ',' rb ') 4220: błąd: 2006D080: procedury BIO: BIO_new_file: brak takiego pliku:. \ Crypto \ bio \ bss_file.c: 129:
4220: błąd: 0E078072: procedury pliku konfiguracyjnego : DEF_LOAD: nie ma takiego pliku:. \ Crypto \ conf \ conf_def.c: 197:
Proszę pomóż. Z góry dziękuję.
Odpowiedzi:
W systemie Windows można również ustawić właściwość environment
OPENSSL_CONF
. Na przykład z linii poleceń możesz wpisać:aby to potwierdzić, możesz wpisać:
Możesz również ustawić ją jako część zmiennych środowiskowych komputera, aby wszyscy użytkownicy i usługi mieli ją domyślnie dostępną. Zobacz, na przykład, zmienne środowiskowe w systemie Windows NT i jak zarządzać zmiennymi środowiskowymi w systemie Windows XP .
Teraz możesz uruchamiać polecenia openssl bez konieczności przekazywania parametru lokalizacji konfiguracji.
źródło
set
to polecenie systemu Windows i ma być uruchamiane zcmd.exe
. Nie będzie działać na komputerze bez systemu Windows.set
Iecho
coś nie działa w Elektrowni Shell, albo. Użyłbyś czegoś takiego$X=1; Write-Output $X
.Po prostu dodaj parametr do wiersza poleceń
-config c:\your_openssl_path\openssl.cfg
, zmieniającyour_openssl_path
go na rzeczywistą zainstalowaną ścieżkę.źródło
$ openssl ca -in server.csr -config /etc/ssl/openssl.cnf
Ale dlaczego to -config nie pojawia się w man openssl? openssl.org/docs/apps/openssl.htmlPo prostu utwórz samodzielnie plik openssl.cnf, tak jak w kroku 4: http://www.flatmtn.com/article/setting-openssl-create-certificates
Edycja po tym, jak link przestał działać Zawartość pliku openssl.cnf była następująca:
źródło
zadbaj o odpowiednie rozszerzenie ( openssl.cfg nie cnf)!
Zainstalowałem OpenSSL stąd: http://slproweb.com/products/Win32OpenSSL.html
źródło
Jeśli zainstalowałeś Apache z OpenSSL, przejdź do katalogu bin. W moim przypadku D: \ apache \ bin.
* Te polecenia działają również, jeśli masz samodzielną instalację openssl.
Uruchom te polecenia:
* Spowoduje to utworzenie certyfikatu z podpisem własnym, którego można użyć do celów programistycznych
Ponownie, jeśli masz zainstalowany Apache w httpd.conf, włóż następujące:
źródło
Po prostu spróbuj uruchomić openssl.exe jako administrator.
źródło
C:\Program Files\Common Files\SSL/openssl.cnf
a potem, gdy działał jako administrator, nagle nie obchodziło go, że nie mógł go znaleźć (i też nie utworzył pliku), ale to zadziałało, więc mnie to nie obchodzi zarówno.Właśnie miałem podobny błąd podczas używania openssl.exe z folderu bin Apache dla systemu Windows. Miałem flagę -config określoną przez miałem literówkę w ścieżce do pliku openssl.cnf. Myślę, że to znajdziesz
Powinien być
Uwaga: conf powinien prawdopodobnie mieć wartość cnf .
źródło
Jeśli instalacja openssl powiodła się, wyszukaj „OPENSSL” na dysku c, aby zlokalizować plik konfiguracyjny i ustawić ścieżkę.
Udało mi się.
źródło
To obejście pomogło nam tak bardzo w mojej pracy (pomoc techniczna), że stworzyliśmy prosty plik wsadowy, który mogliśmy uruchomić z dowolnego miejsca (nie mieliśmy uprawnień, aby go zainstalować). To obejście ustawi zmienną, a następnie uruchomi OpenSSL. Otwiera również folder bin dla Ciebie (ponieważ w tym miejscu zostaną zapisane wszystkie utworzone lub zmodyfikowane pliki). Ponadto dotyczy to tylko systemu Windows.
Jak skonfigurować:
Skopiuj ten kod do pliku o nazwie StartOpenSSL.bat. Zapisz to w wybranej lokalizacji. Można go uruchomić z dowolnego miejsca.
źródło
Problem polega na tym, że NIE MA pliku openssl.cnf podanego z programem GnuWin32 openssl. Musisz to stworzyć. Możesz dowiedzieć się, JAK utworzyć plik openssl.cnf, przechodząc tutaj:
http://www.flatmtn.com/article/setting-ssl-certificates-apache
Tam, gdzie przedstawia wszystko, jak to zrobić.
UWAGA: Polecenie openssl podane z ukośnikiem odwrotnym na końcu dotyczy systemu UNIX. W systemie Windows: 1) Usuń lewy ukośnik i 2) Przenieś drugą linię w górę, tak aby znajdowała się na końcu pierwszej linii. (Więc masz tylko jedno polecenie.)
RÓWNIEŻ: BARDZO ważne jest, aby przeczytać komentarze. Na ich podstawie możesz chcieć wprowadzić pewne zmiany.
źródło
Miałem ten sam problem w systemie Windows. Problem został rozwiązany poprzez ustawienie zmiennej środowiskowej w następujący sposób:
Nazwa zmiennej: OPENSSL_CONF Wartość zmiennej: C: (katalog OpenSSl) \ bin \ openssl.cnf
źródło
Jeśli widzisz błąd, taki jak
spróbuj zmienić ukośnik z tyłu na ukośnik w -config.
źródło
https://github.com/xgqfrms-gildata/App001/issues/3
openssl.cnf
plik we właściwej ścieżce;źródło
Uruchom polecenie jako administrator i skopiuj plik konfiguracyjny do miejsca, w którym masz uprawnienia do odczytu, i określ ścieżkę za pomocą parametru -config.
źródło
Wiem, że to jest stare - ale pomyślałem, że inne, które się w tym zdarzają (i używają Visual Studio), mogą skorzystać. Przeczytałem to w innym poście, którego nie mogę znaleźć.
Otwórz konfigurację w notatniku ++ i upewnij się, że kodowanie to UTF-8 (tj. Nie UTF-8-BOM *).
Oszczędziłoby mi to wiele poszukiwań / prób i błędów ...
źródło
Wiem, że to stare pytanie, ale oto jak je rozwiązałem.
Skopiowałem
openssl.cnf
plik zbin
katalogu do katalogu nadrzędnego, który jestC:/Openssl/openssl.cnf
zamiastC:/Openssl/bin/openssl.cnf
i działał dobrze.źródło