Warum verifiziert wget keine SSL-Zertifikate?

18

Ich habe ein Problem mit meiner Fedora 8- Installation. Es sieht so aus, als könne man wgetkeine SSL-Zertifikate mehr verifizieren. Es ist seltsam, weil ich eine andere Fedora 8- Box habe, von der ich glaube, dass sie dieselbe Konfiguration hat und funktioniert!

Wie kann ich es ohne Verwendung von --no-check-certificateSwitch arbeiten?

Dies ist eine Beispielausgabe:

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.

BEARBEITEN

Ich habe diese Akte /etc/pki/tls/certs/ca-bundle.crtAkte und wenn ich wgetmit dem --ca-certificateSchalter laufe , der auf diese Akte zeigt, geht alles fein. Wo soll diese Datei abgelegt werden, damit ich den Schalter nicht benutzen muss?

Übrigens: curlund linksfunktioniert gut, aber lynxbeklagt sich auch: "SSL-Fehler: Lokales Ausstellerzertifikat kann nicht abgerufen werden". Dies ist also nicht nur wgetein Problem ...

Tomazy
quelle
4
Warum Sie selbst haben eine Installation Fedora 8?
Ignacio Vazquez-Abrams
1
Fedora 9, 10, 11, 12 und 13 werden nicht einmal mehr unterstützt.
Ceejayoz
Ich bin mir bewusst, dass dies ein altes Betriebssystem ist, das nicht mehr unterstützt wird, aber ich hoffe, dass dies nur eine Art Konfigurationsproblem ist, das von erfahrenen Personen leicht gelöst werden kann, sodass ich nicht das gesamte System aktualisieren muss.
Tomazy
Was ist die Version von Wget, die Sie verwenden?
SparX
GNU Wget 1.11.1 (Red Hat geändert)
Tomazy

Antworten:

11

Standardmäßig sucht wget nach Zertifikaten in dem Pfad, der in der openssl conf-Datei /etc/pki/tls/openssl.cnf definiert ist (nicht sicher, ob der Pfad für fc8 korrekt ist). Bitte überprüfen Sie die Konfigurationsdatei von openssl und vergewissern Sie sich, dass die Pfade korrekt sind. Vielleicht ist es openssl, das muss korrigiert werden.

SparX
quelle
Es gab ein Problem mit openssl - Die Datei cert.pem fehlte in / etc / pki / tls. Danke
Tomazy
5

Ihr System vertraut der Signaturkette für das Google-Zertifikat nicht.

Sie präsentieren auch nicht die vollständige Zertifikatskette, sondern nur das Zertifikat ihres Ausstellers. Nicht 100% auf dem neuesten Stand, aber nichts, was Sie davon abhalten sollte, die Kette zu validieren.

In Ihrem alten System sind wahrscheinlich ebenso viele vertrauenswürdige Stammzertifizierungsstellen vorhanden.

Vertrauen Sie dem richtigen VeriSign-Zertifikat ( hier ), und Sie sollten gut sein.

Shane Madden
quelle
Wie genau "vertraue" ich dem VeriSign-Zertifikat?
Tomazy
Muss wohl reingesteckt werden /etc/ssl/certs.
Shane Madden
Dieses Verzeichnis existiert nicht, aber ich habe es erstellt und die Zertifikatsdateien kopiert - es hat nicht geholfen :(
tomazy
Sie sind sich also nicht sicher, wo sich das Zertifikatverzeichnis in diesem Betriebssystem befindet. grepum!
Shane Madden
4

Sie müssen eine Liste der Stammzertifikate erstellen, denen Sie vertrauen möchten, und angeben, wgetwie Sie sie mit der Option --ca-certificateoder finden --ca-directory. Möglicherweise haben Sie bereits eine, /etc/pki/tls/certswenn Sie das entsprechende Paket installiert haben.

David Schwartz
quelle
2

Ich hatte Probleme damit, meine Zertifikate nicht zu finden, also habe ich ca-Zertifikate installiert

sudo apt install ca-certificates

dann habe ich bearbeitet:

sudo vi /etc/wgetrc

und fügte hinzu

ca_directory=/etc/ssl/certs

oder Sie können diesen Befehl einfach verwenden, um ihn an das Ende anzuhängen:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc
Jared
quelle
alternativ hat es bei mir geklappt, wenn ich es benutzt habe, wget https://myurl --ca-directory=/etc/ssl/certs/aber ich möchte nicht, dass ich es jedes Mal tippen muss, sonst hat niemand Zeit dafür ;-)
Jared