从 IBM JRE 1.6 连接到 SOAP 服务时出现问题



获取错误 SOAPException: faultCode=SOAP-ENV:Client; msg=打开套接字时出错: javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException: 数组索引超出范围: 64; targetException=java.lang.IllegalArgumentException: 打开套接字时出错: javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBounds异常: 数组索引超出范围: 64]"/> 连接到 SOAP 服务

我正在尝试从 IBM OMS 系统连接到托管在 java 1.8 tomcat 环境中的 SOAP 服务。

这是主要错误:

javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException: 
Array index out of range: 64'

如果您尝试在 2048 DH 算法上使用 TLS v1 握手,那么 IBM JCE 可能会引发此错误。 2048 DH 密钥只能在使用 TLS 1.2 握手时使用。Java 8 默认使用 TLS v1.2

该错误是由于密钥长度 (2048( 和所选的 SSL 握手算法 (DHE( 之间不兼容。

IBM 支持建议有三种方法来解决此问题。

  • 将 Java 升级到 8
  • 请告知目的地使用 DHE 1024 长度,而不是 DHE 2048。
  • 要求目的地禁用所有迪菲·赫尔曼临时密码(DHE(

最新更新