dongshao1021 2015-07-29 15:55
浏览 37

卷曲错误:60 SSL证书:无法获得具有内部PKI的本地颁发者证书

I'm getting the following error when using curl: Error:60 SSL certificate problem: unable to get local issuer certificate.

<?php
if($fp = tmpfile())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://server.org");
curl_setopt($ch, CURLOPT_STDERR, $fp);
curl_setopt($ch, CURLOPT_CERTINFO, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
$result = curl_exec($ch);
curl_errno($ch)==0 or die("Error:".curl_errno($ch)." ".curl_error($ch));
fseek($fp, 0);//rewind
$str='';
while(strlen($str.=fread($fp,8192))==8192);
echo $str;
fclose($fp);
}
?>

I know this is due to curl needing a ca.pem file however when I added curl.cainfo = "c:\xampp\htdocs\openssl\cas\cacert.pem" to my php.ini file and restarted the services it still doesn't work and this would be becuase the server in question is internal and using a chain file certificates from my PKI servers does anyone know of a way to get this working for internal other than changing this: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); to this: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); ?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了
    • ¥50 切换TabTip键盘的输入法
    • ¥15 可否在不同线程中调用封装数据库操作的类
    • ¥15 微带串馈天线阵列每个阵元宽度计算
    • ¥15 keil的map文件中Image component sizes各项意思
    • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
    • ¥15 划分vlan后,链路不通了?
    • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据