cURL での SSL/TLS ハンドシェイク エラーのトラブルシューティング
cURL を使用して SSL/TLS プロトコルを使用して安全な接続を確立すると、次のエラーが発生する場合がありますメッセージ「SSL/TLS ハンドシェイクのどこかで問題が発生しました。」これは、cURL とリモート サーバー間の認証および暗号化プロセス中に問題が発生していることを示しています。
SSL 検証の無効化 (CURLOPT_SSL_VERIFYPEER) や CA 証明書の設定 (CURLOPT_CAINFO) などの一般的な解決策を試みたにもかかわらず、問題は解決しません。
解決策:
この問題の根本原因は、cURL に組み込みのルート証明書がないことにあります。最新のブラウザにはルート証明書が含まれていますが、cURL には「cacert.pem」という名前の信頼された認証局 (CA) ファイルへの明示的なパスが必要です。
この問題を解決するには、次の手順に従います。
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
この CA ファイルには、SSL/TLS ハンドシェイク中に cURL がサーバーの証明書を検証できるようにする信頼されたルート証明書が含まれています。このファイルがないと検証プロセスが失敗し、ハンドシェイク エラー メッセージが表示されます。
これらの手順を完了すると、cURL を使用して安全な HTTPS 接続を確立できるようになります。
以上がcURL の「SSL/TLS ハンドシェイクのどこかで問題が発生しました」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。