另一个 Paypal Curl / SSL v3 握手错误 - SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

Yet another Paypal Curl / SSL v3 Handshake Error - SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

我知道有很多人在问这个问题,但是 none 我迄今为止阅读的解决方案对我有用。

具有 Paypal IPN 侦听器的站点在 curl 回发中失败。卷曲错误:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

我的 curl 选项如下所示:

curl_setopt($ch, CURLOPT_URL, 'https://www.sandbox.paypal.com/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.sandbox.paypal.com'));
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); 
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

我的curl版本是7.29.0。这是在基于 lighttpd 的服务器上。

我感觉这是因为 curl 不是 "accepting" 我试图强制 tls,但我不确定如何纠正。

更新我的发行版,因此 OpenSSL 确实解决了问题。