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

Posted

技术标签:

【中文标题】SSL23_GET_SERVER_HELLO:sslv3 alert 握手失败 Paypal 自适应支付【英文标题】:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Paypal adaptive payment 【发布时间】:2016-05-05 10:37:23 【问题描述】:

下面是我的 PPHttpConfig.php 的 curl 配置,用于 paypal 自适应支付 SDK,

 public static $DEFAULT_CURL_OPTS = array(
                CURLOPT_SSLVERSION => 4,
                CURLOPT_CONNECTTIMEOUT => 10,
                CURLOPT_RETURNTRANSFER => TRUE,
                CURLOPT_TIMEOUT        => 60,   // maximum number of seconds to allow cURL functions to execute
                CURLOPT_USERAGENT      => 'PayPal-PHP-SDK',
                CURLOPT_HTTPHEADER     => array(),
                CURLOPT_SSL_VERIFYHOST => 2,
                CURLOPT_SSL_VERIFYPEER => FALSE,
                CURLOPT_SSL_CIPHER_LIST => 'TLSv1',
        );

但是,出现错误

键入 PayPal\Exception\PPConnectionException

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

【问题讨论】:

【参考方案1】:

OpenSSL 错误消息倾向于神秘和笼统。

导致此错误的最常见原因是

服务器证书已过期 服务器证书无效 客户端和服务器无法协商双方都可接受的协议级别或密码。

您的 OpenSSL 版本相对较新(但仍然过时 /containing serious vulnerabilities)。我想 PayPal 不会让他们的证书过期。

看到此错误的不太常见的原因是

您的数据库是 CA 证书已过期 找不到 CACert 数据库(您的 PHP 是否在 chroot 中运行?) 您的 openssl.cnf 中有一些愚蠢的条目,或者找不到它 您正坐在您不知道的 MITM 代理后面

你没有说 PHP 在哪里运行,它在什么地方运行,也没有说你对机器有什么访问权限。如果它是 Linux 机器并且您具有 shell 访问权限,您可能想看看当您从命令行probe the server 时会发生什么。

【讨论】:

以上是关于SSL23_GET_SERVER_HELLO:sslv3 alert 握手失败 Paypal 自适应支付的主要内容,如果未能解决你的问题,请参考以下文章

无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试啥的任何想法?

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

curl:(35)错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败

如何解决错误 SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

cURL 错误 (35):错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 无法识别的名称

Android (23) - Smack (4.1.8) - XMPP - “SSL23_GET_SERVER_HELLO:unknown protocol”错误