我有(由于某些原因无法升级)运行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,因此会出现握手错误。这与证书无关。