从IBM JRE 1.6连接到SOAP服务的问题

时间:2018-05-09 16:56:22

标签: ssl

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

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

1 个答案:

答案 0 :(得分:1)

这是主要错误:

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

如果您尝试在2048 DH算法上与TLS v1握手,则IBM JCE可能会抛出此错误。只有在使用TLS 1.2进行握手时,才能使用2048 DH密钥。 Java 8默认使用TLS v1.2

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

IBM支持推荐三种方法来解决此问题。

  • 将java升级到8
  • 要求您的目的地使用DHE 1024长度而不是DHE 2048.
  • 要求您的目的地禁用所有Diffie Hellman Ephemeral密码(DHE)