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

时间:2016-01-28 07:11:13

标签: php ssl curl paypal

下面是我为PayPal自适应支付SDK PPHttpConfig.php的curl配置,

 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警报握手失败

enter image description here

1 个答案:

答案 0 :(得分:1)

OpenSSL错误消息倾向于神秘和通用。

此错误的最常见原因是

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

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

看到此错误的常见原因是

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

您没有说明PHP运行的位置,运行的内容以及您对计算机的访问权限。如果它是Linux盒子并且你有shell访问权限,你可能想看看从命令行probe the server时会发生什么。