cURL を使用して SSL を必要とする URL にリクエストを送信しようとすると、「自己署名証明書」を示すエラー メッセージが表示されます。
このエラーは、cURL がリモートによって提示された SSL 証明書を検証できないために発生します。サーバー。これは、証明書が自己署名されている場合、つまり信頼できる認証局 (CA) によって発行されていない場合に発生する可能性があります。
この問題を解決するには、cURL の SSL 証明書検証を手動で無効にします。ただし、アプリケーションのセキュリティを損なう可能性があるため、これはお勧めできません。
代わりに、cURL で使用される PHP インストールに CA ルート証明書の有効なバンドルがあることを確認する必要があります。このバンドルは、サーバーの SSL 証明書の信頼性を検証するために cURL によって使用されます。
最新の CA ルート証明書バンドルは、ここからダウンロードできます: http://curl.haxx.se/docs/ caextract.html
ダウンロードしたら、php.ini のcurl.cainfo オプションを証明書の絶対パスに設定して、バンドルを使用するように PHP を設定します。
curl.cainfo = <absolute_path_to>/cacert.pem
または、CURLOPT_CAINFO オプションを使用して実行時に CA 証明書を構成できます。
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
有効な CA ルート証明書バンドルを提供することで、cURL は検証できるようになります。サーバーの SSL 証明書を取得し、安全な接続を確立します。
以上がcURL エラー 60: SSL 証明書の問題を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。