cURL での SSL/TLS ハンドシェイクの問題の解決
悪名高い cURL エラー 35、「SSL/TLS ハンドシェイクのどこかで問題が発生しました」が発生しました」とイライラしてしまうかもしれません。このエラー メッセージは、cURL が HTTP プロトコルで問題なく動作するにもかかわらず、HTTPS リクエスト中に安全な接続を確立できないことを示しています。
試みられる一般的な解決策の 1 つは、CURLOPT_SSL_VERIFYPEER を false に設定することですが、これは効果がありません。ただし、この問題を解決する鍵は、必要な認証局情報を cURL に提供することにあります。
最新のブラウザとは異なり、cURL には組み込みのルート証明書がありません。 SSL 接続中に受信した証明書を検証するには、cacerts.pem ファイルへの明示的なパスが必要です。このファイルには、cURL がサーバーの証明書を信頼できるようにするルート証明書が含まれています。
cURL を正しく構成するには、次の手順に従います。
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
このファイルを提供すると、cURL はサーバーの証明書を取得し、安全な HTTPS 接続を確立します。 cacerts.pem ファイルは、公式 cURL ドキュメント Web サイトから入手できます。
このファイルは、cURL を通じて行われる後続のすべての SSL 接続に使用できるため、セットアップ プロセスが簡素化されることに注意してください。
以上がcURL エラー 35:「SSL/TLS ハンドシェイクで問題が発生しました」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。