【问题标题】:"No protocols available" SSL Issue with PayPal APIPayPal API 的“无可用协议”SSL 问题
【发布时间】:2016-04-29 18:34:14
【问题描述】:

PayPal 沙盒和 PHP SDK 存在一些问题,到目前为止(或至少在过去 2 或 3 天)一直运行良好。我正在通过 SDK(使用 cURL)联系沙箱。

错误:140740BF:SSL 例程:SSL23_CLIENT_HELLO:没有可用的协议

据我了解,PayPal 就在最近(2016 年 1 月 19 日至 20 日)更新了他们的沙箱,只接受 TLS 1.2(为计划在几个月后对其生产环境进行同样的更改做准备)。

我在 Ubuntu 12.04 上,这是我尝试过的

  • 将 openssl 升级到可用的最新版本
  • 升级 PayPal PHP SDK 版本
  • 正在升级 cURL 版本(原为 7.22,从源代码构建 7.46,并通过检查“curl_version();”输出确认 PHP 正在使用该版本。
  • 更改为以下 PayPal SSL 配置值

CURLOPT_SSLVERSION => 6

CURLOPT_SSL_CIPHER_LIST => 'TLSv1'

以前 CURLOPT_SSLVERSION 设置为“3”(旧的、已弃用的 SSL v3)。我收到了这条消息:

错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

将 CURLOPT_SSLVERSION 更新为“6”(TLS 1.2)后,我收到了我第一次提到的错误(“没有可用的协议”)。

我今天在 Google 上进行了数小时的广泛搜索,但没有取得任何进展。我不确定这是 PayPal 方面的问题还是我的问题。如果有人有任何想法可以为我指明正确的方向,那就太好了。

谢谢

【问题讨论】:

标签: paypal


【解决方案1】:

我在大约 12 小时前发现了另一个问题,导致了同样的错误

将 ssl 密码列表设置为 DEFAULT。

【讨论】:

  • 嗯,试过了,但我仍然看到问题
【解决方案2】:

毕竟是过时的 cURL 版本,无法支持 TLS 1.2 连接。我在 Ubuntu 12.04 上,它只支持 cURL 7.22。我曾提到尝试升级 cURL(从源代码进行),但认为我没有正确设置它或正确重新加载我的配置。能够通过在显示相同症状的第二台机器上升级 cURL 来确认修复

【讨论】:

    【解决方案3】:

    我遇到了类似的问题,我的解决方案是更新 curl 和 openssl:

    sudo add-apt-repository ppa:rsrchboy/ppa
    sudo apt-get update
    sudo apt-get --only-upgrade install curl openssl libssl1.0.0 libssl-dev
    

    如果您想检查您的系统是否会连接到贝宝沙盒,请尝试(升级前后):

    curl -v https://api.sandbox.paypal.com
    

    你应该可以使用

    CURLOPT_SSLVERSION => 6
    

    现在。

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2015-11-01
      • 2018-05-07
      • 2014-12-08
      • 2020-12-04
      • 1970-01-01
      • 2022-01-14
      • 2018-12-01
      • 2014-10-28
      相关资源
      最近更新 更多