错误设置证书验证位置:CAfile
Posted
技术标签:
【中文标题】错误设置证书验证位置:CAfile【英文标题】:error setting certificate verify locations: CAfile 【发布时间】:2011-10-22 03:03:31 【问题描述】:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/usr/share/ssl/certs/www.site.com.crt ");
上面给出的代码用于支付部分。显示以下错误:
%s: s77 :/home/site/public_html/usr/share/ssl/certs/www.site.com.crt CApath:无
如何解决这个问题,谁能帮帮我
谢谢
【问题讨论】:
尝试删除 getcwd() 并检查文件是否正好有这样的位置 【参考方案1】:我遇到了同样的问题,据我所知,这似乎与 Curl 无法写入该文件夹有关,这没有意义,因为我是这台机器上的 root (并且可以将文件写入我的证书目录。)
解决此问题的一种方法是强制 Curl 不使用证书建立安全连接:
echo insecure >> ~/.curlrc
【讨论】:
最好不要使用 HTTPS,以免给人一种虚假的安全感。【参考方案2】:查看您的环境是否指向不存在的文件:
$ env | grep SSL
SSL_CERT_FILE=C:/ruby200/cacert.pem
在文件末尾的引号内还有一个空格。
【讨论】:
以上是关于错误设置证书验证位置:CAfile的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的 CurlException:77:设置证书验证位置时出错
在尝试访问 HTTPS url 时如何使用 cURL 处理证书?