我們的網站最近從http轉向https。它具有REST API調用我們的客戶稱爲這是現在不工作:爲SSL配置cURL
捲曲SSL之前(工作):
$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(不工作)之後捲曲:
$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);
我是否除了要求客戶端在其REST集成代碼中添加CURLOPT_SSL_VERIFYPEER,CURLOPT_SSL_VERIFYHOST,CURLOPT_CAINFO之外,還需要在我們的服務器上設置任何東西?
我真的在HTTPS一個新手,我不知道究竟是我需要搜索術語,搜索捲曲SSL對已經小時...
順便說一句,我們的網站使用託管在Amazon EC2如果這些信息是非常重要的......
這裏是返回的捲曲的錯誤:
error:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
捲曲版本:7.21.6
SSL版本:OpenSSL的/ 1.0.0e
http://stackoverflow.com/questions/6400300/php-curl-https -causing-exception-ssl-certificate-problem-verify-that-ca-cer – nkamm
@nkamm它仍然不起作用。我檢查了從我們的客戶服務器中存儲的Firefox導出的.crt文件是否與我們服務器的.crt文件相同。他們是一樣的。我們的服務器的.crt文件位於/etc/apache2/ssl/our_site.crt。你認爲我應該把它移到其他地方嗎?我已經計算了超過5個小時已經.... OH MY ... – Woppi
也請他們在選擇(在Firefox中)使用第二個選項導出證書http://i.stack.imgur.com/ kZpCQ.png – nkamm