Mengapa wget tidak memverifikasi sertifikat SSL?

19

Saya memiliki masalah dengan instalasi Fedora 8 saya . Tampaknya wgettidak tahu cara memverifikasi sertifikat SSL lagi. Aneh karena saya punya kotak Fedora 8 lain yang saya percaya memiliki konfigurasi yang sama dan berfungsi!

Bagaimana saya bisa membuatnya bekerja tanpa menggunakan --no-check-certificatesakelar?

Ini adalah contoh 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.

EDIT

Saya memiliki file /etc/pki/tls/certs/ca-bundle.crtfile ini dan ketika saya menjalankan wgetdengan --ca-certificateberalih menunjuk ke file ini semuanya berjalan dengan baik. Di mana file ini harus ditempatkan sehingga saya tidak perlu menggunakan sakelar?

BTW: curldan linksberfungsi dengan baik, tetapi lynxjuga mengeluh: "Kesalahan SSL: tidak bisa mendapatkan sertifikat penerbit lokal" jadi ini bukan hanya wgetmasalah ...

tomazy
sumber
4
Mengapa Anda bahkan memiliki instalasi Fedora 8?
Ignacio Vazquez-Abrams
1
Fedora 9, 10, 11, 12, dan 13 bahkan tidak didukung lagi.
ceejayoz
Saya sadar ini adalah OS kuno yang tidak lagi didukung tetapi saya berharap ini hanya semacam masalah konfigurasi yang mungkin mudah dipecahkan oleh seseorang yang berpengalaman sehingga saya tidak perlu memutakhirkan keseluruhan sistem.
tomazy
apa versi wget yang Anda gunakan?
SparX
GNU Wget 1.11.1 (Red Hat dimodifikasi)
tomazy

Jawaban:

11

Secara default, wget akan memeriksa sertifikat di jalur yang ditentukan dalam file conf openssl /etc/pki/tls/openssl.cnf (tidak yakin apakah jalur tersebut benar untuk fc8). Silakan periksa file konfigurasi openssl dan konfirmasikan bahwa jalurnya benar. Mungkin itu adalah openssl, yang perlu diperbaiki.

SparX
sumber
Itu masalah dengan file openssl - cert.pem hilang di / etc / pki / tls. Terima kasih
tomazy
5

Sistem Anda tidak mempercayai rantai tanda tangan untuk sertifikat Google.

Mereka juga tidak menunjukkan rantai sertifikat lengkap, hanya sertifikat penerbitnya; tidak 100% normal, tapi tentu saja tidak ada yang harus menghentikan Anda dari memvalidasi rantai.

Sistem kuno Anda kemungkinan memiliki sekumpulan otoritas sertifikat akar tepercaya yang sama kuno.

Percayai sertifikat VeriSign yang tepat (di sini ), dan Anda harus baik.

Shane Madden
sumber
Bagaimana tepatnya saya "mempercayai" sertifikat VeriSign?
tomazy
Mungkin perlu dimasukkan /etc/ssl/certs.
Shane Madden
Dir ini tidak ada tetapi saya membuatnya dan menyalin file cert - itu tidak membantu :(
tomazy
Tidak yakin di mana direktori sertifikat berada di OS itu, lalu. grepsekitar!
Shane Madden
4

Anda perlu mengumpulkan daftar sertifikat root yang ingin Anda percayai dan memberi tahu wgetcara menemukannya menggunakan opsi --ca-certificateatau --ca-directory. Anda mungkin sudah memilikinya /etc/pki/tls/certsjika paket yang sesuai telah diinstal.

David Schwartz
sumber
3

Saya punya masalah dengan wget tidak menemukan sertifikat saya jadi saya menginstal ca-sertifikat

sudo apt install ca-certificates

lalu saya edit:

sudo vi /etc/wgetrc

dan ditambahkan

ca_directory=/etc/ssl/certs

atau Anda bisa menggunakan perintah ini untuk menambahkannya sampai akhir:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc
Jared
sumber
alternatifnya itu bekerja untuk saya jika saya menggunakan wget https://myurl --ca-directory=/etc/ssl/certs/tetapi saya tidak ingin harus mengetik itu setiap kali, tidak ada yang punya waktu untuk itu ;-)
Jared