12

自己署名証明書を使用して SSL 接続を行っているときに、以下のエラーが発生します。「既知の CA 証明書でピア証明書を認証できません」

CA署名証明書で正常に動作しています。curl_easy_setopt() を使用して以下を設定しています。

curl_easy_setopt(MyContext, CURLOPT_CAPATH, CA_CERTIFICATE_PATH) curl_easy_setopt(MyContext, CURLOPT_SSL_VERIFYPEER,TRUE);

curl バージョン
libcurl-7.19.7-26

Openssl のバージョンは 0_9_8u です。

この問題を解決する方法を教えてください。

4

6 に答える 6

10

セキュリティの問題: この回答はセキュリティ機能を無効にします。これを本番環境で使用しないでください。

php の場合、curl による証明書の検証をオフにすることができます (以下の警告を参照) (例: curl_exec の場合)。

  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

http://php.net/manual/en/function.curl-setopt.php

(セキュリティリスクを自分で評価してください。私の場合、それはパートナー企業のサーバー上にあり、必要なファイルには安全な情報が含まれていませんでした-たまたま安全なサーバー上にあっただけです)

于 2016-01-27T13:56:57.053 に答える
9

デフォルトでは、通常、CURL は SSL 証明書を検証して、その証明書が有効であり、承認された CA によって発行されているかどうかを確認します。これを行うために、curl はバンドルされた一連の CA 証明書を使用します。

curl による証明書の検証をオフにする場合は、-k (または --insecure) オプションを使用します。次に例を示します。

curl --noproxy -k \* -D - https://127.0.0.1:443/some-secure-endpoint
于 2013-05-10T15:37:23.277 に答える
5

標準リポジトリで利用可能な最新バージョンに curl を更新し、最新の ca-certificates バンドルをインストールすることで、CentOS 6 での同様の問題を修正しました。

yum update curl
yum install ca-certificates
于 2016-10-26T15:11:29.957 に答える
4

libcurlは、デフォルトでピアSSL証明書の検証を実行します。これは、SSLライブラリがピアのサーバー証明書が有効であることを確認するために使用できるCA証明書バンドルを使用して行われます。

バンドルに存在するCAによって署名された証明書を使用してHTTPSまたはFTPSサーバーと通信する場合、リモートサーバーが実際にそのサーバーであると確信できます。

7.18.0まで、curlはデフォルトでインストールされた非常に古いcaバンドルファイルをバンドルしていました。最近、curlアーカイブにはca証明書がまったく含まれていません。他の場所で入手する必要があります。たとえば、以下を参照してください。

ピアSSL証明書検証の詳細については、http: //curl.haxx.se/docs/sslcerts.htmlにアクセスしてください。

于 2013-02-22T10:02:19.800 に答える
2

このエラーは usinggit cloneではなくusing の場合に発生しましたcurlが、最近同じエラー メッセージに出くわしました。

既知の CA 証明書ではピア証明書を認証できません

Arth の調査結果と同様に、CentOS 6で (関連する GitLab リポジトリで HTTPS URL を正常に使用するために) 機能したことはgit clone、次の手順を使用して、サーバー(つまり、HTTPS を使用しているサーバー)上の信頼できる証明書を更新することでした。

  1. sudo yum install ca-certificates
  2. sudo update-ca-trust enable
  3. sudo cp /path/to/your_new_cert.crt /etc/pki/ca-trust/source/anchors/
  4. sudo update-ca-trust extract

おそらく、将来、CentOS のユーザーの場合curl (または他の同様のシナリオ)に、同じ証明書の手順を適用できます。

于 2016-12-20T17:34:25.407 に答える