尽管安装了根证书,但握手失败(PayPal 升级 - g5 证书 - openssl)
Posted
技术标签:
【中文标题】尽管安装了根证书,但握手失败(PayPal 升级 - g5 证书 - openssl)【英文标题】:Handshake failure although the root certificate is installed (PayPal upgrades - g5 certificate - openssl) 【发布时间】:2016-10-15 00:07:18 【问题描述】:我有(由于多种原因无法升级)几个运行 Centos 5.11 的虚拟机
作为验证机器是否与此处描述的新 PayPal 更新兼容的检查: https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1766&viewlocale=en_US
我在 shell 中运行了这个:
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 Trust Network, OU=(c) 2006 VeriSign, Inc. - 仅供授权使用,CN=VeriSign Class 3 Public Primary Certification Authority - G5 有效性 不早于:格林威治标准时间 2006 年 11 月 8 日 00:00:00 不晚于:格林威治标准时间 2036 年 7 月 16 日 23:59:59 主题:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - 仅供授权使用,CN=VeriSign Class 3 Public Primary Certification Authority - 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(以及通过官方 repos 获得的最新信息)是 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:
【问题讨论】:
【参考方案1】:openssl-0.9.8e-40.el5_11.
Paypal 要求您支持 TLS 1.2。仅自 4 年前发布的 OpenSSL 版本 1.0.1 起才支持 TLS 1.2。而且由于您的旧版本 OpenSSL 不支持 TLS 1.2,但最多支持 TLS 1.0,您会收到握手错误。这与证书无关。
【讨论】:
不幸的是,你是完全正确的。 5分钟前我自己也发现了同样的情况。可悲的是,Centos 5.x 似乎完全无法更新。我将不得不考虑一些“创意”,因为更新服务器不是一种选择以上是关于尽管安装了根证书,但握手失败(PayPal 升级 - g5 证书 - openssl)的主要内容,如果未能解决你的问题,请参考以下文章
Paypal Sandbox IPN: 14077410:sslroutines:ssl23_get_server_hello:sslv3 警报握手失败
最近的 Java 升级导致椭圆曲线服务器证书的 TLS 握手失败?