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

Posted

技术标签:

【中文标题】另一个 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 【发布时间】:2016-05-02 09:38:21 【问题描述】:

我知道有很多人在问这个问题,但迄今为止我读过的所有解决方案都没有对我有用。

具有 Paypal IPN 侦听器的站点在 curl 回发中失败。卷曲错误:错误:14077410:SSL 例程: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 没有“接受”我强制 tls 的尝试,但我不确定如何纠正。

【问题讨论】:

你升级OpenSSL后试过了吗? 我昨晚实际上做了一个完整的发行版升级,以及将 php 和 lighttpd 升级到最新版本。不幸的是,IPN 现在完全失败了——只是不断重试,没有 HTTP 错误代码。我将用这个问题开始一个新问题,因为我确信它完全不相关。一旦我克服了那个小问题,我会回到这里完成这个。 【参考方案1】:

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

【讨论】:

以上是关于另一个 Paypal Curl / SSL v3 握手错误 - SSL23_GET_SERVER_HELLO:sslv3 警报握手失败的主要内容,如果未能解决你的问题,请参考以下文章

PayPal cURL 选项(CURLOPT_SSL_VERIFYPEER 和 CURLOPT_SSL_VERIFYHOST)问题

PayPal TLS 测试 URL - PHP curl SSL 协议错误

如何解决 youtube data api V3 中的 curl 错误 60:ssl 证书问题?

Paypal ssl 握手失败

PayPal IPN SSL 协议版本

SSL23_GET_SERVER_HELLO:sslv3 alert 握手失败 Paypal 自适应支付