Tại sao wget không xác minh chứng chỉ SSL?


19

Tôi có một vấn đề với cài đặt Fedora 8 của tôi . Có vẻ wgetnhư không biết cách xác minh chứng chỉ SSL nữa. Thật lạ vì tôi có một hộp Fedora 8 khác mà tôi tin là có cùng cấu hình và nó hoạt động!

Làm thế nào tôi có thể làm cho nó hoạt động mà không cần sử dụng --no-check-certificatechuyển đổi?

Đây là một đầu ra mẫu:

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.

BIÊN TẬP

Tôi có tệp /etc/pki/tls/certs/ca-bundle.crttệp này và khi tôi chạy wgetvới --ca-certificatechuyển đổi trỏ đến tệp này, mọi thứ đều ổn. Tập tin này nên được đặt ở đâu để tôi không cần sử dụng công tắc?

BTW: curllinkshoạt động tốt, nhưng lynxcũng phàn nàn: "Lỗi SSL: không thể lấy chứng chỉ nhà phát hành địa phương" vì vậy đây không chỉ wgetlà vấn đề ...


4
Tại sao bạn thậm chí cài đặt Fedora 8?
Ignacio Vazquez-Abrams

1
Fedora 9, 10, 11, 12 và 13 thậm chí không được hỗ trợ nữa.
ceejayoz

Tôi biết rằng đây là một hệ điều hành cổ không còn được hỗ trợ nhưng tôi hy vọng rằng đây chỉ là một vấn đề cấu hình có thể dễ dàng giải quyết bởi một người có kinh nghiệm để tôi không cần phải nâng cấp toàn bộ hệ thống.
tomazy

phiên bản wget bạn đang sử dụng là gì?
SparX

GNU Wget 1.11.1 (Red Hat đã sửa đổi)
tomazy

Câu trả lời:


11

Theo mặc định, wget sẽ kiểm tra các chứng chỉ trong đường dẫn được xác định trong tệp openssl conf /etc/pki/tls/openssl.cnf (không chắc đường dẫn có đúng với fc8 không). Vui lòng kiểm tra tệp cấu hình openssl và xác nhận rằng các đường dẫn là chính xác. Có thể nó là openssl, cần phải sửa.


Đó là một vấn đề với tệp openssl - cert.pem bị thiếu trong / etc / pki / tls. Cảm ơn
tomazy

5

Hệ thống của bạn không tin tưởng chuỗi chữ ký cho chứng chỉ của Google.

Họ cũng không trình bày chuỗi chứng chỉ đầy đủ, chỉ là chứng chỉ nhà phát hành của họ; không phải là 100% đến ngang bằng, nhưng chắc chắn không có gì có thể ngăn bạn xác nhận chuỗi.

Hệ thống cổ xưa của bạn có thể có một bộ các cơ quan cấp chứng chỉ gốc đáng tin cậy không kém.

Tin tưởng vào chứng chỉ VeriSign đúng ( tại đây ) và bạn sẽ giỏi.


Làm thế nào chính xác để tôi "tin tưởng" chứng chỉ VeriSign?
tomazy

Có lẽ cần phải được đưa vào /etc/ssl/certs.
Shane Madden

Thư mục này không tồn tại nhưng tôi đã tạo và sao chép các tệp cert - nó không giúp ích gì :(
tomazy

Không chắc chắn nơi thư mục chứng chỉ được đặt trong hệ điều hành đó. grepxung quanh!
Shane Madden

4

Bạn cần thu thập một danh sách các chứng chỉ gốc mà bạn muốn tin tưởng và cho biết wgetcách tìm chúng bằng cách sử dụng tùy chọn --ca-certificatehoặc --ca-directory. Bạn có thể đã có một trong /etc/pki/tls/certsnếu bạn đã cài đặt gói thích hợp.


3

Tôi gặp vấn đề với wget không tìm thấy chứng chỉ của mình vì vậy tôi đã cài đặt ca-chứng chỉ

sudo apt install ca-certificates

sau đó tôi chỉnh sửa:

sudo vi /etc/wgetrc

và thêm

ca_directory=/etc/ssl/certs

hoặc bạn chỉ có thể sử dụng lệnh này để nối nó đến cuối:

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

cách khác, nó hoạt động với tôi nếu tôi sử dụng wget https://myurl --ca-directory=/etc/ssl/certs/nhưng tôi không muốn phải gõ nó mỗi lần, không ai có thời gian cho việc đó ;-)
Jared
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.