Linux

為什麼 wget 不驗證 SSL 證書?

  • January 27, 2021

我的Fedora 8安裝有問題。它看起來**wget**不知道如何驗證 SSL 證書了。這很奇怪,因為我有另一個Fedora 8盒子,我相信它具有相同的配置並且可以正常工作!

如何在不使用--no-check-certificate開關的情況下使其工作?

這是一個範例輸出:

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.

編輯

我有這個文件/etc/pki/tls/certs/ca-bundle.crt文件,當我**wget**使用--ca-certificate指向這個文件的開關執行時,一切正常。這個文件應該放在哪裡,這樣我就不需要使用開關了?

順便說一句:curl工作links正常,但lynx也抱怨:*“SSL 錯誤:無法獲得本地頒發者證書”*所以這不僅wget是問題……

預設情況下,wget 將檢查 openssl conf 文件 /etc/pki/tls/openssl.cnf 中定義的路徑中的證書(不確定該路徑對於 fc8 是否正確)。請檢查 openssl 配置文件並確認路徑正確。可能是openssl,需要更正。

我遇到 wget 找不到我的證書的問題,所以我安裝了 ca-certificates

sudo apt install ca-certificates

然後我編輯:

sudo vi /etc/wgetrc

並添加

ca_directory=/etc/ssl/certs

或者您可以使用此命令將其附加到末尾:

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

引用自:https://serverfault.com/questions/314635