私はDebian wheezyサーバーにいて、httpsを介して成功しなかったものをダウンロードしようとしています。
私がそれを使用しようとしたとき、curl
例えば、次のような答えが出ました。
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
wget
私に次のようなものを与えました:
ERROR: cannot verify www.domain.com’s certificate, issued by “/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA”:
Unable to locally verify the issuer’s authority.
コマンドを実行するとopenssl s_client -showcerts -connect www.facebook.com:443
応答を受け取りますが、コマンドをverify error:num=20:unable to get local issuer certificate
実行すると
openssl s_client -CApath /etc/ssl/certs/ -showcerts -connect www.facebook.com:443
正常に動作します。
だから公開鍵へのパスを設定すれば証明書の確認ができるので、設定されていない環境変数があると思います。
問題を解決するにはどうすればよいですか?
よろしくお願いします!
答え1
誤った設定を処理しません。
Wheezyが年齢を示しているかもしれません。証明書CAパブリックルートチェーン可能これらのほとんどは現在古くなっており、openssl / libSSLは廃止予定のプロトコルを使用しています。
この問題を解決する最も簡単な方法は、最新のDebianバージョンにアップグレードすることです。なぜなら、Wheezyは2013バージョンで、2018年5月31日以降に中断されたからです。 (つまり、一部の人々はすでにDebian 10への移行を計画/テストしており、Wheezyは3つのバージョンで5年遅れています。)
証明書の確認を有効curl -k
または無効にして操作することもできます。wget --no-check-certificate
@GAD3Rが提案したように証明書を更新するか(問題が解決するかどうかわからない)、DigicertルートCA証明書を手動でインストールすることもできます。 (FB証明書はDigicertで署名されました)
ただし、以前のバージョンのDebianでは他のセキュリティ問題が発生し、SSLを処理する必要があるため、可能であればアップグレードする必要があります。