最近、当サイトは http から https に移行しました。現在機能していない顧客によって呼び出された REST API 呼び出しがあります。
SSL の前の cURL (動作):
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$api_call_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
SSL 後の cURL (機能しない):
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$api_call_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, "/customers_path_on_their_server/to/our_cacert_they_exported_via_firefox.crt"); //X.509 Certificate
$result = curl_exec($ch);
curl_close($ch);
クライアントに CURLOPT_SSL_VERIFYPEER、CURLOPT_SSL_VERIFYHOST、CURLOPT_CAINFO を REST 統合コードに追加するよう依頼する以外に、サーバーに何かセットアップする必要がありますか?
私は本当にhttpsの初心者で、検索する必要がある用語が正確に何であるかわかりません.cURL SSLを何時間も検索しました...
ところで、その情報が重要な場合、私たちのサイトは amazon ec2 ホスティングを使用しています...
返された cURL エラーは次のとおりです。
error:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
cURL バージョン: 7.21.6
SSL バージョン: OpenSSL/1.0.0e