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


19

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の問題ではありません...


4
Fedora 8をインストールしているのはなぜですか?
イグナシオバスケス-アブラムス

1
Fedora 9、10、11、12、13はサポートされなくなりました。
ceejayoz

これはもはやサポートされていない古代のOSであることは承知していますが、これは経験豊富な人が簡単に解決できるような構成上の問題であり、システム全体をアップグレードする必要はありません。
トマジー

使用しているwgetのバージョンは何ですか?
-SparX

GNU Wget 1.11.1(Red Hat変更)
tomazy

回答:


11

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


これはopensslの問題でした-cert.pemファイルが/ etc / pki / tlsにありませんでした。おかげで
-tomazy

5

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

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

古代のシステムには、同様に古代の信頼されたルート認証局のセットがあります。

正しいVeriSign証明書(ここ)を信頼すれば、うまくいくはずです。


VeriSign証明書を正確に「信頼」するにはどうすればよいですか?
トマジー

おそらく入れる必要があります/etc/ssl/certs
シェーンマッデン

このディレクトリは存在しませんでしたが、作成して証明書ファイルをコピーしました-助けにはなりませんでした:(
tomazy

その場合、証明書ディレクトリがそのOSのどこにあるかわかりません。 grep周り!
シェーンマッデン

4

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


3

証明書が見つからないためwgetで問題が発生したため、ca証明書をインストールしました

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

代わりに、私が使用しwget https://myurl --ca-directory=/etc/ssl/certs/た場合、それは私のために働いたが、私は毎回それをタイプする必要はありません、誰もその時間を持っていません;-)
Jared
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.