我有(由于某些原因无法升级)运行Centos 5.11的多个虚拟机

为了检查机器是否与此处描述的新PayPal更新兼容:
https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1766&viewlocale=en_US

我在外壳中运行了它:

grep -C 5  --color=always "VeriSign Class 3 Public Primary Certification Authority - G5" /etc/pki/tls/certs/ca-bundle.crt


一切看起来都很好,这是输出:


  数据:
          版本:3(0x2)
          序列号:
              18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a
      签名算法:sha1WithRSAEncryption
          发行方:C = US,O = VeriSign,Inc.,OU = VeriSign信任网络,OU =(c)2006 VeriSign,Inc.-仅授权使用,CN = VeriSign 3类公共主要证书颁发机构-G5
          有效期
              不早于:2006年11月8日00:00:00 GMT
              不晚于:7月16日23:59:59 2036 GMT
          主题:C = US,O = VeriSign,Inc.,OU = VeriSign信任网络,OU =(c)2006 VeriSign,Inc.-仅供授权使用,CN = VeriSign 3类公共主要证书颁发机构-G5
          主题公钥信息:
              公钥算法:rsaEncryption
                  公钥:(2048位)
                  模量:
                      00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b:


对我来说,这意味着新的必需G5根证书实际上就在其中。
但是,在针对沙箱进行测试时,该沙箱应该已经通过以下命令使用了新规范:

openssl s_client -connect api-3t.sandbox.paypal.com:443 -showcerts


响应为:


  已连接(00000003)
  2052:错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败:s23_clnt.c:586:


当然,在非沙盒链接上执行相同操作也没有问题。

我101%被困在这里。证书在那里,但是我还是失败了?
已安装的Openssl(以及通过官方仓库获得的最新信息)是openssl-0.9.8e-40.el5_11。

我还看到了有关握手问题的其他几个问题,但是似乎没有一个问题可以解决这样的问题(证书到位,但仍然存在连接问题)。

知道为什么会这样吗?

编辑:
通过也尝试以这种方式在调用中使用ssl3:

openssl s_client -ssl3 -connect api-3t.sandbox.paypal.com:443 -showcerts


我得到这个代替:


  已连接(00000003)
  6064:错误:14094410:SSL例程:SSL3_READ_BYTES:sslv3警报握手失败:s3_pkt.c:1092:SSL警报编号40
  6064:错误:1409E0E5:SSL例程:SSL3_WRITE_BYTES:ssl握手失败:s3_pkt.c:536:

最佳答案

openssl-0.9.8e-40.el5_11。


贝宝要求您支持TLS 1.2。从4年前发布的OpenSSL版本1.0.1开始,才支持TLS 1.2。而且,由于您的旧版OpenSSL不支持TLS 1.2,但最多支持TLS 1.0,因此会出现握手错误。这与证书无关。

10-05 18:50