卷曲错误SSL证书无法获得本地颁发者证书 - 最近的开发

时间:2015-12-21 18:56:17

标签: php ssl curl

我一直在使用cURL验证登录几个月,它一直运行正常。

$searchURL = "https://url.com/isTokenValid?";

$strCookie = 'asdf=' . $_COOKIE['asdf'] . '; path=/';    
$ch = curl_init();             
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);       
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie ); 
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, FALSE);

if($answer = curl_exec($ch))
{        
  if (strpos($answer,'true') !== false) 
  {
    $login = true;
  }
  else
  {
    $login = false;
  } 

今天早上 - 它停止了工作,我收到错误:

  

卷曲错误:SSL证书问题:无法获得本地颁发者证书

我使用https://curl.haxx.se/ca/cacert.pem中的cacert.pem文件 - 如果需要以某种方式更新或刷新此数据,我使用此日期的文件,似乎仍然是最新的:

  

Mozilla的证书资料:2015年10月28日星期三04:12:04

这不是我在网页开发中的强项,所以我不确定如何解决这里发生的事情。我的第一个想法是它必须是服务器端的东西,因为我周末没有在本地进行任何更改,但是如果有人能够指出我的方向,那么我就不想开始戳。

谢谢!

2 个答案:

答案 0 :(得分:1)

下载https://curl.haxx.se/ca/cacert.pem并重命名为ssl.txt,然后您可以尝试

 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE); 
 curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/ssl.txt");

答案 1 :(得分:0)

男人卷曲说:

  -k, --insecure
          (SSL)  This  option explicitly allows curl to perform "insecure"
          SSL connections and transfers. All SSL connections are attempted
          to  be  made secure by using the CA certificate bundle installed
          by default. This makes  all  connections  considered  "insecure"
          fail unless -k, --insecure is used.

          See     this    online    resource    for    further    details:
          http://curl.haxx.se/docs/sslcerts.html