微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl – PayPal IPN:无法获得本地颁发者证书

我使用curl验证PayPal IPN,但它抛出错误:SSL证书问题:无法获得本地颁发者证书.相同的代码正在开发服务器上,当我移动到客户端服务器时,它无法正常工作.

我是否需要购买ssl认证才能通过PayPal快速结账或我的编码部分的任何更改或任何需要在服务器上进行的设置进行付款.Curl已在服务器上启用.任何帮助将不胜感激.

我的代码如下,以及针对此的简化测试页:

$req = HAVING ParaMETERS FROM PAYPAL;

$ch = curl_init("https://www.sandBox.paypal.com/cgi-bin/webscr");
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_FORBID_REUSE,CURLOPT_HTTPHEADER,array('Connection: Close'));

curl_exec($ch);
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

解决方法

您告诉cURL验证SSL连接,但您没有告诉它要验证什么;
curl_setopt($ch,2);

确保通过添加以下内容指向要信任的CA的最新列表:

curl_setopt($ch,CURLOPT_CAPATH,"./cacert.pem");

如果您自己没有最新的cacert列表,我建议您下载cURL维护者提供的那个:cacert.pem.

原文地址:https://www.jb51.cc/Perl/171851.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐