php-paypal-error: 14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/34926940/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 00:17:39  来源:igfitidea点击:

php-paypal-error: 14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

phppaypal

提问by Noé Andrés

Today a website with PHP 5.5 that was working fine has started to throw this error:

今天,一个运行良好的 PHP 5.5 网站开始抛出这个错误:

error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

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

I have tried many solutions from different questions but I can't find the error.

我尝试了来自不同问题的许多解决方案,但我找不到错误。

MAMP SSL error: "error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure"

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

Here says to change the CURLOPT_SSL_VERIFYPEER to false, but doesn't work.

这里说将 CURLOPT_SSL_VERIFYPEER 更改为 false,但不起作用。

I have tried with many sslversions and cipher_list, but doesn't work either.

我尝试过许多 sslversions 和 cipher_list,但也不起作用。

As I said, this problem wasn't here a few days ago, maybe it's something new related with the version 1.6.4.

刚才说了,这个问题不是前几天出现的,可能是1.6.4版本的新问题。

Any Idea?

任何的想法?

采纳答案by pp_MSI_Jenn

If you are pointing to the Sandbox server, recently there were some updates made that would cause that specific error.
Below is the information and link from the PayPal Merchant Technical Support Microsite on the SHA-256 Upgrade:

如果您指向 Sandbox 服务器,则最近进行的一些更新会导致该特定错误。
以下是来自 PayPal 商户技术支持微型网站关于 SHA-256 升级的信息和链接:

Support SHA-256.PayPal is upgrading SSL certificates on all Live and Sandbox endpoints from SHA-1 to the stronger and more robust SHA-256 algorithm. You will need to update your integration to support certificates using SHA-256.
Discontinue use of the VeriSign G2 Root Certificate. In accordance with industry standards, PayPal will no longer honor secure connections that require the VeriSign G2 Root Certificate for trust validation. Only secure connection requests that are expecting our certificate/trust chain to be signed by the G5 Root Certificate will result in successful secure connections.

支持 SHA-256。PayPal 正在将所有 Live 和 Sandbox 端点上的 SSL 证书从 SHA-1 升级到更强大、更可靠的 SHA-256 算法。您需要更新您的集成以支持使用 SHA-256 的证书。
停止使用 VeriSign G2 根证书。根据行业标准,PayPal 将不再支持需要 VeriSign G2 根证书进行信任验证的安全连接。只有期望我们的证书/信任链由 G5 根证书签名的安全连接请求才能实现成功的安全连接。

Directly from the PayPal MicroSite: SSL Certificate Upgrade

直接从 PayPal MicroSite: SSL 证书升级

On January 19-20, 2016 The Sandbox endpoints will be upgraded to new SHA-256, 2048-bit certificates:

api.sandbox.paypal.com
api-3t.sandbox.paypal.com
api-aa.sandbox.paypal.com
api-aa-3t.sandbox.paypal.com
svcs.sandbox.paypal.com
pointofsale.sandbox.paypal.com
ipnpb.sandbox.paypal.com
www.sandbox.paypal.com (for IPN)

2016 年 1 月 19 日至 20 日,沙盒端点将升级到新的 SHA-256、2048 位证书:

api.sandbox.paypal.com
api-3t.sandbox.paypal.com
api-aa.sandbox.paypal.com
api-aa-3t.sandbox.paypal.com
svcs.sandbox.paypal.com
pointofsale.sandbox.paypal.com
ipnpb.sandbox.paypal.com
www.sandbox.paypal.com (for IPN)

Here is the link to the PayPal User Guidewith detailed instructions on changing your Certificate to a G5 Root Certificate.

这是PayPal 用户指南的链接,其中包含有关将证书更改为 G5 根证书的详细说明。

回答by Tapa Save

I upgrade my PHP server from 5.4 to 7.0 and error disappear.

我将我的 PHP 服务器从 5.4 升级到 7.0,错误消失了。

回答by Dilip Godhani

So have already fixed the problem with handshake failure. It was due to php version. As soon as i upgraded to php 5.5 it solved the problem.

所以已经解决了握手失败的问题。这是由于php版本。一旦我升级到 php 5.5,它就解决了这个问题。

回答by NickS

My problem was solved by re-installing PHP 7 on my Mac. It may also be worth checking the version of libcurl that you have is up to date.

我的问题是通过在我的 Mac 上重新安装 PHP 7 解决的。检查您拥有的 libcurl 版本是否是最新的也可能是值得的。