web-dev-qa-db-ja.com

wgetがSSL証明書を検証しないのはなぜですか?

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ファイルを持っており、このファイルを指す--ca-certificateスイッチを指定してwgetを実行すると、すべてがうまくいきます。スイッチを使用する必要がないように、このファイルはどこに配置する必要がありますか?

ところで:curllinksは正常に動作しますが、lynxも不平を言います: "SSLエラー:ローカル発行者証明書を取得できません"したがって、これはwgetの問題だけではありません...

19
tomazy

デフォルトでは、wgetはopenssl confファイル/etc/pki/tls/openssl.cnfで定義されたパスで証明書をチェックします(パスがfc8に対して正しいかどうかは不明です)。 openssl構成ファイルを確認し、パスが正しいことを確認してください。おそらくそれはopensslであり、修正する必要があります。

11
SparX

システムがGoogleの証明書の署名チェーンを信頼していません。

また、証明書チェーン全体を提示するのではなく、発行者の証明書のみを提示します。 100%の額に達していませんが、チェーンの検証を妨げるものはありません。

あなたの古代のシステムは、信頼できるルート認証局の同じくらい古いセットを持っている可能性があります。

適切なVeriSign証明書( ここ )を信頼してください。

5
Shane Madden

信頼するルート証明書のリストを収集し、wget--ca-certificateまたは--ca-directoryオプションを使用してそれらを検索する方法を伝える必要があります。適切なパッケージがインストールされている場合は、/etc/pki/tls/certsにすでに存在している可能性があります。

4
David Schwartz

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
4
Jared