Perché wget non verifica i certificati SSL?


19

Ho un problema con la mia installazione di Fedora 8 . Sembra che wgetnon sappia più come verificare i certificati SSL. È strano perché ho un'altra scatola Fedora 8 che credo abbia la stessa configurazione e funziona!

Come posso farlo funzionare senza usare --no-check-certificateswitch?

Questo è un esempio di output:

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.

MODIFICARE

Ho questo file /etc/pki/tls/certs/ca-bundle.crte quando corro wgetcon --ca-certificateswitch che punta a questo file tutto va bene. Dove dovrebbe essere posizionato questo file in modo che non sia necessario utilizzare l'opzione?

A proposito: curle linksfunziona bene, ma lynxsi lamenta anche: "Errore SSL: impossibile ottenere il certificato dell'emittente locale", quindi questo non è solo un wgetproblema ...


4
Perché anche avere un'installazione di Fedora 8?
Ignacio Vazquez-Abrams,

1
Fedora 9, 10, 11, 12 e 13 non sono più supportati.
Ceejayoz,

Sono consapevole che questo è un sistema operativo antico non più supportato, ma spero che questo sia solo un tipo di problema di configurazione che potrebbe essere facilmente risolto da qualcuno con esperienza in modo da non dover aggiornare l'intero sistema.
Tomazy,

qual è la versione di wget che stai utilizzando?
SparX,

GNU Wget 1.11.1 (Red Hat modificato)
tomazy

Risposte:


11

Per impostazione predefinita, wget controllerà i certificati nel percorso definito nel file confs di openssl /etc/pki/tls/openssl.cnf (non sono sicuro che il percorso sia corretto per fc8). Controllare il file di configurazione di openssl e confermare che i percorsi siano corretti. Può essere openssl, che deve essere corretto.


Si è verificato un problema con openssl: il file cert.pem mancava in / etc / pki / tls. Grazie
tomazy

5

Il tuo sistema non si fida della catena di firme per il certificato di Google.

Inoltre non presentano l'intera catena di certificati, ma solo il certificato dell'emittente; non al 100% alla pari, ma certamente nulla che dovrebbe impedirti di convalidare la catena.

È probabile che il tuo antico sistema disponga di un insieme altrettanto antico di autorità di certificazione radice attendibili.

Fidati del certificato VeriSign giusto ( qui ) e dovresti essere bravo.


Come posso "fidarmi" esattamente del certificato VeriSign?
Tomazy,

Probabilmente deve essere inserito /etc/ssl/certs.
Shane Madden

Questa directory non esisteva ma l'ho creata e copiata i file cert - non ha aiutato :(
tomazy

Non sono sicuro di dove si trovi la directory dei certificati in quel SO, quindi. grepin giro!
Shane Madden

4

Devi raccogliere un elenco dei certificati radice di cui desideri fidarti e dire wgetcome trovarli utilizzando l' opzione --ca-certificateo --ca-directory. Potresti già averne uno /etc/pki/tls/certsse hai installato il pacchetto appropriato.


3

Ho avuto problemi con wget nel non trovare i miei certificati, quindi ho installato i certificati ca

sudo apt install ca-certificates

poi ho modificato:

sudo vi /etc/wgetrc

e aggiunse

ca_directory=/etc/ssl/certs

oppure puoi semplicemente usare questo comando per aggiungerlo alla fine:

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

in alternativa ha funzionato per me se lo avessi usato, wget https://myurl --ca-directory=/etc/ssl/certs/ma non voglio scriverlo ogni volta, non c'è nessuno che abbia tempo per farlo ;-)
Jared
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.