Pourquoi wget ne vérifie pas les certificats SSL?

19

J'ai un problème avec mon installation de Fedora 8 . Il semble que wgetne sache plus comment vérifier les certificats SSL. C'est étrange car j'ai une autre boîte Fedora 8 qui je crois a la même configuration et ça marche!

Comment puis-je le faire fonctionner sans utiliser de --no-check-certificatecommutateur?

Ceci est un exemple de sortie:

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.

ÉDITER

J'ai ce fichier /etc/pki/tls/certs/ca-bundle.crtet lorsque je lance wgetavec un --ca-certificatecommutateur pointant vers ce fichier, tout se passe bien. Où ce fichier doit-il être placé afin que je n'aie pas besoin d'utiliser le commutateur?

BTW: curlet linksfonctionne bien, mais lynxse plaint également: "Erreur SSL: impossible d'obtenir le certificat d'émetteur local" , ce n'est donc pas seulement wgetle problème ...

tomazy
la source
4
Pourquoi avez - vous même avez une installation Fedora 8?
Ignacio Vazquez-Abrams du
1
Fedora 9, 10, 11, 12 et 13 ne sont même plus pris en charge.
ceejayoz
Je suis conscient qu'il s'agit d'un ancien système d'exploitation qui n'est plus pris en charge, mais j'espère que ce n'est qu'une sorte de problème de configuration qui pourrait être facilement résolu par une personne expérimentée, de sorte que je n'ai pas besoin de mettre à niveau l'ensemble du système.
tomazy
quelle est la version de wget que vous utilisez?
SparX
GNU Wget 1.11.1 (Red Hat modifié)
tomazy

Réponses:

11

Par défaut, wget vérifie les certificats dans le chemin défini dans le fichier de configuration openssl /etc/pki/tls/openssl.cnf (pas sûr que le chemin soit correct pour fc8). Veuillez vérifier le fichier de configuration openssl et confirmer que les chemins sont corrects. Peut-être que c'est openssl, qui doit être corrigé.

SparX
la source
C'était un problème avec le fichier openssl - cert.pem manquant dans / etc / pki / tls. Merci
Tomazy
5

Votre système ne fait pas confiance à la chaîne de signature du certificat Google.

Ils ne présentent pas non plus la chaîne de certificats complète, juste le certificat de leur émetteur; pas 100% à la hauteur, mais certainement rien qui ne devrait vous empêcher de valider la chaîne.

Votre ancien système est susceptible d'avoir un ensemble tout aussi ancien d'autorités de certification racine de confiance.

Faites confiance au bon certificat VeriSign ( ici ), et vous devriez être bon.

Shane Madden
la source
Comment puis-je "faire confiance" au certificat VeriSign?
tomazy
Doit probablement être installé /etc/ssl/certs.
Shane Madden
Ce répertoire n'existait pas mais je l'ai créé et copié les fichiers cert - cela n'a pas aidé :(
tomazy
Je ne sais pas alors où se trouve le répertoire des certificats dans ce système d'exploitation. grepautour!
Shane Madden
4

Vous devez rassembler une liste des certificats racine auxquels vous souhaitez faire confiance et indiquer wgetcomment les trouver à l'aide de l' option --ca-certificateou --ca-directory. Vous en avez peut-être déjà un /etc/pki/tls/certssi vous avez installé le package approprié.

David Schwartz
la source
3

J'ai eu des problèmes avec wget pour ne pas trouver mes certificats alors j'ai installé des certificats ca

sudo apt install ca-certificates

puis j'ai édité:

sudo vi /etc/wgetrc

et ajouté

ca_directory=/etc/ssl/certs

ou vous pouvez simplement utiliser cette commande pour l'ajouter à la fin:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc
Jared
la source
alternativement, cela a fonctionné pour moi si je l'utilisais, wget https://myurl --ca-directory=/etc/ssl/certs/mais je ne veux pas avoir à taper cela à chaque fois, personne n'a le temps pour cela ;-)
Jared