错误设置证书验证位置:CA文件

4
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 设置证书验证位置时出错:CAfile:/home/site/public_html/usr/share/ssl/certs/www.site.com.crt CApath:none 请问有谁能帮我解决这个问题吗?
谢谢。

尝试移除getcwd()并检查文件是否确切位于该位置。 - Fivell
2个回答

4

我遇到了同样的问题,据我所见,这似乎与Curl无法写入该文件夹有关,但这没有道理,因为我在这台机器上是root(并且可以将文件写入我的证书目录)。

解决方法之一是强制Curl不使用证书建立安全连接:

echo insecure >> ~/.curlrc

2
最好不要使用HTTPS,以避免给人一种虚假的安全感。 - hdgarrood

0

检查您的环境是否指向一个不存在的文件:

$ env | grep SSL
SSL_CERT_FILE=C:/ruby200/cacert.pem

另外,您在引号内的文件末尾有一个空格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接