php - SSL 错误无法更改为 TLS

标签 php ssl curl paypal

我在一个高度依赖 Paypal 正常运行的网站上工作了很长一段时间。没有它,它真的没用。

我的时间(我在 CET 时区)凌晨 1 点左右一切正常,我完善了代码和功能,它按预期工作。我在 sleep 前进行了三次检查,确保一切正常。

我早上醒来,发现与 Paypal 无关的任何东西都不起作用。在向您展示实际代码和错误之前,先解释一下我正在使用的内容。我正在使用 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,它确实启用了,我更改了(已经超过一百万次)我的配置设置以在 cURL 中使用该 TLS(因为我使用的是 PHP),方法如下:

curl_setopt($ch, CURLOPT_SSLVERSION, 1);(这是它在 Express Checkout 和 Adaptive Payments 中的样子,它只是一个关联数组,但在两者中它实际上是一回事)

我还在某处和您的建议中找到了实际更新我的 api 凭据的建议。我做到了。我去了 paypal.com -> API,然后点击了有效的更新,但后来我注意到在我的 developer.paypal.com 帐户上,我有一些虚拟帐户没有任何变化。我应该手动更新那些还是什么?

编辑:

这已发送给 Paypal 支持,我真的很着急,无法再写完整的东西,对此深表歉意!感谢所有真正花时间阅读它的人,问题已修复

通过向我的 PPHttpConfig.php 文件添加 CURLOPT_SSL_CIPHER_LIST => 'TLSv1' 解决了这个问题! :)

最佳答案

尝试添加

CURLOPT_SSL_CIPHER_LIST => 'TLSv1'

到您的 PPHttpConfig.php 文件。我和你有同样的问题,花了几个小时来找到解决方案。这对我有用。

关于php - SSL 错误无法更改为 TLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26759383/

相关文章:

javascript - 为什么 javascript 无法获取 php 生成的 html 的值?

php - 如何获取 Instagram 评论父 ID 并确定它是顶级还是回复

ssl - HTTPS 适用于 Chrome 但不适用于大多数台式机上的 IE

c# - 如何从特定绑定(bind) C# 获取证书

php - 如何在内部使用 php restful api-centric 设计而不是 http 请求

php - 如何使用 cURL 部分下载远程文件?

php - 每个用户一个数据库

php imap 检查邮件是否有附件

docker - 在 docker 环境中允许 https 请求

python - 在 REST API 的 HTTP/1.0 请求中省略 Accept */* header 是否是错误