エラー: 「SSL/TLS ハンドシェイクのどこかで問題が発生しました」cURL を使用する
cURL の領域では、ユーザーは次のようなエラーに遭遇する可能性があります。謎のエラー メッセージ: 「SSL/TLS ハンドシェイクのどこかで問題が発生しました。」この複雑な問題は、cURL が HTTPS 経由で安全な接続を確立する際に問題が発生した場合に発生します。
問題
提供されたコンテキストは、cURL が HTTP リクエストを完璧に処理するものの、うまくいかないという開発者の困惑を明らかにしています。異なるプロトコルを使用して同じリソースをターゲットにしている場合でも、HTTPS に遭遇した場合。 cURL のエラー応答コード 35 は、SSL/TLS ハンドシェイク内の問題を示しています。
失敗した試行
開発者は、SSL 証明書の検証を無効にするなど、考えられる解決策を注意深く検討しました。 (CURLOPT_SSL_VERIFYPEER)、認証局 (CA) 証明書 (CURLOPT_CAINFO) をダウンロードして構成しようとしています。
解決策
この問題を徹底的に調査した結果、当社の専門家は、cURL にルート証明書が組み込まれていないことを発見しました。これを修正するには、開発者は cURL を信頼できる CA 証明書ファイル (cacert.pem) に明示的に指定する必要があります。 CURLOPT_CAINFO を使用してこのファイルへのパスを指定すると、cURL はリモート サーバーによって提供された SSL 証明書の信頼性を検証できます。
cacert.pem ファイルは、公式 cURL ドキュメントなどの信頼できるソースから取得できます。 (http://curl.haxx.se/docs/caextract.html)。この証明書を組み込むことにより、cURL は安全な接続を確立し、要求された HTTPS リソースを取得できます。
以上がHTTPS の使用時に cURL が「SSL/TLS ハンドシェイクのどこかで問題が発生しました」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。