错误设置证书验证位置: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:设置证书验证位置时出错

错误设置证书验证位置 - PayPal IPN 侦听器

libcurl证书验证失败

在尝试访问 HTTPS url 时如何使用 cURL 处理证书?

本地 Keycloak 设置返回“错误:无法验证第一个证书”nodejs 错误

错误:设置 id_rsa 后无法验证第一个证书