Dlaczego wget nie weryfikuje certyfikatów SSL?


19

Mam problem z instalacją Fedory 8 . Wygląda na to, że wgetnie wie już, jak weryfikować certyfikaty SSL. To dziwne, ponieważ mam inne pudełko Fedory 8 , które moim zdaniem ma taką samą konfigurację i działa!

Jak sprawić, by działało bez użycia --no-check-certificateprzełącznika?

To jest przykładowy wynik:

wget https://www.google.com
--2011-09-23 00:11:13--  https://www.google.com/
Resolving www.google.com... 74.125.230.146, 74.125.230.147, 74.125.230.148, ...
Connecting to www.google.com|74.125.230.146|:443... connected.
ERROR: cannot verify www.google.com's certificate, issued by `/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA':
  Unable to locally verify the issuer's authority.
To connect to www.google.com insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.

EDYTOWAĆ

Mam ten plik /etc/pki/tls/certs/ca-bundle.crti kiedy uruchamiam wgetz --ca-certificateprzełącznikiem wskazującym na ten plik, wszystko idzie dobrze. Gdzie należy umieścić ten plik, aby nie musiałem używać przełącznika?

BTW: curli linksdziała dobrze, ale lynxrównież narzeka: „Błąd SSL: nie można uzyskać lokalnego certyfikatu wystawcy”, więc to nie tylko wgetproblem ...


4
Dlaczego nawet mieć instalację Fedora 8?
Ignacio Vazquez-Abrams

1
Fedora 9, 10, 11, 12 i 13 nie są już nawet obsługiwane.
ceejayoz,

Wiem, że ten stary system operacyjny nie jest już obsługiwany, ale mam nadzieję, że jest to tylko problem z konfiguracją, który może być łatwo rozwiązany przez kogoś doświadczonego, dzięki czemu nie muszę aktualizować całego systemu.
tomazy

jakiej wersji wget używasz?
SparX

GNU Wget 1.11.1 (zmodyfikowany Red Hat)
tomazy

Odpowiedzi:


11

Domyślnie wget sprawdza certyfikaty w ścieżce zdefiniowanej w pliku openssl conf /etc/pki/tls/openssl.cnf (nie ma pewności, czy ścieżka jest poprawna dla fc8). Sprawdź plik konfiguracyjny openssl i potwierdź, że ścieżki są poprawne. Być może jest to openssl, które należy poprawić.


To był problem z plikiem openssl - brak pliku cert.pem w / etc / pki / tls. Dzięki
tomazy

5

Twój system nie ufa łańcuchowi podpisów certyfikatu Google.

Nie prezentują też pełnego łańcucha certyfikatów, tylko certyfikat ich wystawcy; nie w 100% do wartości nominalnej, ale na pewno nic, co nie powinno powstrzymywać cię od walidacji łańcucha.

Twój starożytny system prawdopodobnie będzie miał równie starożytny zestaw zaufanych głównych urzędów certyfikacji.

Zaufaj właściwemu certyfikatowi VeriSign ( tutaj ), a powinieneś być dobry.


Jak dokładnie „ufam” certyfikatowi VeriSign?
tomazy

Prawdopodobnie trzeba go wprowadzić /etc/ssl/certs.
Shane Madden

Ten
katalog

Nie wiesz, gdzie znajduje się katalog certyfikatów w tym systemie operacyjnym. grepna około!
Shane Madden

4

Musisz zebrać listę certyfikatów głównych, którym chcesz zaufać, i powiedzieć, wgetjak je znaleźć za pomocą opcji --ca-certificatelub --ca-directory. Możesz już go mieć, /etc/pki/tls/certsjeśli masz zainstalowany odpowiedni pakiet.


3

Miałem problemy z niemożnością znalezienia moich certyfikatów przez wget, więc zainstalowałem ca-certyfikaty

sudo apt install ca-certificates

potem edytowałem:

sudo vi /etc/wgetrc

i dodał

ca_directory=/etc/ssl/certs

lub możesz po prostu użyć tego polecenia, aby dołączyć je na końcu:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc

alternatywnie zadziałało dla mnie, gdybym używał, wget https://myurl --ca-directory=/etc/ssl/certs/ale nie chcę wpisywać tego za każdym razem, ale nikt nie ma na to czasu ;-)
Jared
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.