【问题标题】:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Paypal adaptive paymentSSL23_GET_SERVER_HELLO:sslv3 alert 握手失败 Paypal 自适应支付
【发布时间】: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 警报握手失败

【问题讨论】:

    标签: php ssl curl paypal


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-02
      • 2016-04-27
      • 2012-06-03
      • 2016-05-04
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      相关资源
      最近更新 更多