我一直在一个网站上工作了很长时间,该网站高度依赖于PayPal正常工作。没有它,这是真的没用。SSL错误不能更改为TLS
大约凌晨一点我的时间(我在CET时区)一切正常,我磨光了代码,功能,它的工作原理应该如此。在我睡觉之前,我做了三重检查,发现一切正常。
我早上醒来,没有任何与贝宝有关的事实际上的作品。在我向你展示实际的代码和错误之前,稍微解释一下我正在使用的内容。我正在使用Express Checkout和Paypal Adaptive Payments SDK。
我有一些“虚拟”帐户,我在developer.paypal.com上进行模拟推动者(所有者)和买方互动,因为我有场景时所有者向用户提供资金,反之亦然。无论如何,他们都工作得很好,现在他们都抛出这个错误(在Adaptive Payments SDK中,它告诉我哪一行代码是错误的,并且在Express Checkout中,因为这是通过文档完成的代码,它不会显示哪个文件误差却是相同的错误):
'error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure'
现在,经过我看到这个帖子https://devblog.paypal.com/poodle-ssl-3-0-vulnerability/您刚才禁用SSL完全,我意识到这个问题是在实际。您希望您的用户现在可以使用TLS,这非常好。我三重检查了我的服务器启用了TLS,它的确和我改变了(已经超过一百万次了)我的配置设置使用该卷TLS(因为我使用PHP)通过执行类似的操作:
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
(这是它在Express Checkout和Adaptive Pay中的样子,它只是一个关联数组,但它在两者中都是一样的)
我也在某处和您的建议中找到实际更新我的api凭据的地方。我做到了。我去了paypal.com - > API,然后点击更新哪些工作,但后来我注意到,在我的developer.paypal.com帐户,我有一些虚拟帐户没有任何改变。我应该手动更新这些还是什么?
编辑:
这被发送到贝宝的支持,我真的有急事,不能再次写了整个事情,所以我们对此深感抱歉!问题是修复了感谢任何真正花时间阅读的人。
该问题已解决,将CURLOPT_SSL_CIPHER_LIST => 'TLSv1'
添加到我的PPHttpConfig.php文件! :)
非常有帮助的提示重复您的答案在这里https://stackoverflow.com/questions/26452755/php-curl-is-probably-using-sslv3-insted-of-tls-when-connecting-to-https/26765281# 26765281和这里http://stackoverflow.com/questions/26763737/update-php-curl-request-from-sslv3-to-tls/26764845#26764845 – 2014-11-05 19:20:25
我在哪里可以找到这个PPHttpconfig.php?我需要为我们的magento网站之一..提前预订 – Nazim 2014-11-26 13:12:20
嗨Nazim,进入你的贝宝的目录,例如/ usr/lib/php5,那么它应该是贝宝/供应商/贝宝/ sdk核心-php/lib目录/贝宝/核心/ PPHttpConfig.php。 – 2014-12-10 18:35:30