2个服务器中的1个SSL握手失败。
我启用了用于调试SSL的日志记录,并得出了服务器之间的以下区别:
好的服务器:
[12/18/18 8:08:52:466 CET] 0000017d SystemOut O客户端写入密钥:
[12/18/18 8:08:52:466 CET] 0000017d SystemOut O 0000:3d 82 67 06 09 d0 a8 93 01 8f 42 93 e3 24 6d c0 ..g ....... B ... m。 0010:76 cb 4a 7f b9 a7 3e 61 c7 ac ca 60 08 77 a5 a0 v.J .... a ..... w ..[12/18/18 8:08:52:466 CET] 0000017d SystemOut O服务器写入密钥:
[12/18/18 8:08:52:466 CET] 0000017d SystemOut O 0000:ad d4 83 5c b2 6f e8 ad a5 7e 5d 50 39 04 78 74 ..... o ..... P9.xt 0010:f7 7f 2d 73 c7 1f aa f0 5c 72 ac ce a5 cc 76 21 ... s ..... r .... v。
错误的服务器:
[12/18/18 8:08:51:817 CET] 0000013d SystemOut O客户端写入 键:
[12/18/18 8:08:51:817 CET] 0000013d SystemOut O 0000:2f 67 20 ee 13 d6 22 03 d6 aa bc 78 ca bf a9 0a .g ......... x ....[12/18/18 8:08:51:817 CET] 0000013d SystemOut O服务器写入 键:
[12/18/18 8:08:51:817 CET] 0000013d SystemOut O 0000:fc 64 13 e2 98 00 af cc 10 ae 34 80 fb 2c ab 5d .d ........ 4 .....[12/18/18 8:08:51:817 CET] 0000013d SystemOut O ...无IV派生 适用于此协议
[12/18/18 8:08:51:817 CET] 0000013d SystemOut
O JsseJCE:通过初始化使用来自提供者TBD的签名SHA512withRSA
[12/18/18 8:08:51:818 CET] 0000013d SystemOut O签名: 使用来自initSignIBMJCE版本1.8中的提供者的签名RSA
[12/18/18 8:08:51:821 CET] 0000013d SystemOut O CertificateVerify
[12/18/18 8:08:51:821 CET] 0000013d SystemOut
O签名算法SHA512withRSA
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O JsseJCE:使用来自的KeyGenerator IbmTls12Prf 提供商通过init提供的TBD
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O HandshakeMessage:来自的TLS密钥生成器IbmTlsPrf init IBMJCE版本1.8中的提供程序
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O WebContainer:0,写TLSv1.2握手, 长度= 136
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O WebContainer:0,写:TLSv1.2更改密码规范,长度= 1
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O JsseJCE:使用 通过初始化从提供商TBD加密AES / CBC / NoPadding
[12/18/18 8:08:51:822 CET] 0000013d SystemOut O CipherBox:使用密码 初始IBMJCE版本1.8中提供者提供的AES / CBC / NoPadding
[12/18/18 8:08:51:823 CET] 0000013d SystemOut O JsseJCE:使用 提供者TBD提供的MAC HmacSHA1通过初始化
[12/18/18 8:08:51:823 CET] 0000013d SystemOut O MAC:使用来自的MessageDigest HmacSHA1 提供程序IBMJCE版本1.8
[12/18/18 8:08:51:823 CET] 0000013d SystemOut O已完成
[12/18/18 8:08:51:823 CET] 0000013d SystemOut O verify_data:{150、40、219、56、139、255、165、51, 71,246,110,176}
[12/18/18 8:08:51:824 CET] 0000013d SystemOut O
[12/18/18 8:08:51:824 CET] 0000013d SystemOut O WebContainer:0,写:TLSv1.2握手,长度= 64
[12/18/18 8:08:51:876 CET] 0000013d SystemOut O WebContainer:0,读取: TLSv1.2更改密码规范,长度= 1
[12/18/18 8:08:51:876 CET] 0000013d SystemOut O JsseJCE:使用来自的密码AES / CBC / NoPadding 提供商通过init进行的待定
[12/18/18 8:08:51:876 CET] 0000013d SystemOut O CipherBox:使用来自的密码AES / CBC / NoPadding init IBMJCE版本1.8中的提供程序
[12/18/18 8:08:51:876 CET] 0000013d SystemOut O JsseJCE:使用提供者提供的MAC HmacSHA1 通过init进行的TBD
[12/18/18 8:08:51:877 CET] 0000013d SystemOut O MAC:使用提供程序IBMJCE版本的MessageDigest HmacSHA1 1.8
[12/18/18 8:08:51:877 CET] 0000013d SystemOut O WebContainer:0,读取:TLSv1.2握手,长度= 64
[12/18/18 8:08:51:877 CET] 0000013d SystemOut O已完成
[12/18/18 8:08:51:877 CET] 0000013d SystemOut O verify_data:{217,179, 178、151、190、135、169、219、85、206、55、194}
[12/18/18 8:08:51:878 CET] 0000013d SystemOut O
[12/18/18 8:08:51:878 CET] 0000013d SystemOut O JsseJCE:使用KeyGenerator IbmTls12Prf 来自提供者TBD的init初始化
[12/18/18 8:08:51:878 CET] 0000013d SystemOut O HandshakeMessage:来自的TLS密钥生成器IbmTlsPrf init IBMJCE版本1.8中的提供程序
[12/18/18 8:08:51:878 CET] 0000013d SystemOut O %%缓存的客户端会话:[Session-129, SSL_RSA_WITH_AES_128_CBC_SHA]
[12/18/18 8:08:51:895 CET] 0000013d SystemOut O WebContainer:0,写:TLSv1.2应用程序数据, 长度= 336
[12/18/18 8:08:51:895 CET] 0000013d SystemOut O WebContainer:0,写:TLSv1.2应用程序数据,长度= 5984
[12/18/18 8:08:52:053 CET] 0000013d SystemOut O WebContainer:0, 阅读:TLSv1.2应用程序数据,长度= 1008
[12/18/18 8:08:52:054 CET] 0000013d SystemOut O WebContainer:0,称为 close()
[12/18/18 8:08:52:054 CET] 0000013d SystemOut O WebContainer:0,称为closeInternal(true)
[12/18/18 8:08:52:054 CET] 0000013d SystemOut O WebContainer:0,发送 TLSv1.2 ALERT:警告,说明= close_notify
[12/18/18 8:08:52:054 CET] 0000013d SystemOut O WebContainer:0,写: TLSv1.2警报,长度= 48
[12/18/18 8:08:52:054 CET] 0000013d SystemOut O WebContainer:0,称为closeSocket(true)
[12/18/18 8:08:52:603 CET] 0000013d SystemOut O SSLv3协议是 请求但未启用
[12/18/18 8:08:52:604 CET] 0000013d SystemOut O
正如我在良好服务器中标记的那样,我在客户端和服务器中看到写入密钥的一部分0010,而不是在不良服务器中。
我认为是因为SSL握手失败导致呼叫失败。
我们使用了很多Web服务,仅在两个端点上存在问题,而其他端点在两个服务器上均运行良好。
如果有人可以指出我的搜索方向,我将非常感激。
-Dcom.ibm.jsse2.overrideDefaultTLS=true
作为启动参数,但没有帮助。答案 0 :(得分:0)
似乎是在标准服务器上配置了错误服务器上的安全性,而不是更安全的美国版本: