【问题标题】:error setting certificate verify locations: CAfile错误设置证书验证位置: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 错误设置证书验证位置:CAfile:/home/site/public_html/usr/share/ssl/certs/www.site.com.crt CApath:无

如何解决这个问题,谁能帮帮我

谢谢

【问题讨论】:

  • 尝试删除 getcwd() 并检查文件是否正好有这样的位置

标签: ssl curl


【解决方案1】:

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

解决此问题的一种方法是强制 Curl 不使用证书建立安全连接:

echo insecure >> ~/.curlrc

【讨论】:

  • 最好不要使用 HTTPS,以免给人一种虚假的安全感。
【解决方案2】:

查看您的环境是否指向不存在的文件:

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

在文件末尾的引号内还有一个空格。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 2017-06-08
    • 2013-11-10
    • 2015-11-17
    • 2015-08-24
    • 2018-10-25
    • 1970-01-01
    • 2015-07-26
    • 2018-07-11
    相关资源
    最近更新 更多