连接到 "https:" 站点时收到 "javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException"
Receiving "javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException" while connecting to "https:" site
我正在尝试连接到支持 "TLSv1" 协议和以下密码套件的 "https://" 站点,
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 4096 位
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 4096 位
使用 Apache 的 httpclient(Java 平台 - JDK 1.7)
它在 JDK1.8 中工作正常(支持 DH 参数 > 1024 位的密码套件)
但它在 JDK 1.7 中失败,但有以下例外,
main, handling exception: java.lang.ArrayIndexOutOfBoundsException: 64
%% Invalidated: [Session-1, TLS_DHE_RSA_WITH_AES_128_CBC_SHA]
main, SEND TLSv1 ALERT: fatal, description = internal_error
main, WRITE: TLSv1 Alert, length = 2
[Raw write]: length = 7
0000: 15 03 01 00 02 02 50 ......P
main, called closeSocket()
main, IOException in getSession(): javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException: 64
按照此处解决方法中的建议,
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495,
我曾尝试使用 Bouncy Castle Provider,但仍然遇到相同的异常。
任何帮助都会很棒。谢谢
问题是,您使用的是带有 TLS v1 的 2048 DH 密钥,而它与 TLS v1.2 兼容,因此您可以通过三种方式解决它:
1) 将您的 JDK 版本升级到 1.8
2) 从服务器
禁用所有 DHE 密码
3) 在服务器上使用 1048 DH 密钥
有关详细信息,请参阅 here
我正在尝试连接到支持 "TLSv1" 协议和以下密码套件的 "https://" 站点,
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 4096 位
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 4096 位
使用 Apache 的 httpclient(Java 平台 - JDK 1.7)
它在 JDK1.8 中工作正常(支持 DH 参数 > 1024 位的密码套件)
但它在 JDK 1.7 中失败,但有以下例外,
main, handling exception: java.lang.ArrayIndexOutOfBoundsException: 64
%% Invalidated: [Session-1, TLS_DHE_RSA_WITH_AES_128_CBC_SHA]
main, SEND TLSv1 ALERT: fatal, description = internal_error
main, WRITE: TLSv1 Alert, length = 2
[Raw write]: length = 7
0000: 15 03 01 00 02 02 50 ......P
main, called closeSocket()
main, IOException in getSession(): javax.net.ssl.SSLException: java.lang.ArrayIndexOutOfBoundsException: 64
按照此处解决方法中的建议,
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495, 我曾尝试使用 Bouncy Castle Provider,但仍然遇到相同的异常。
任何帮助都会很棒。谢谢
问题是,您使用的是带有 TLS v1 的 2048 DH 密钥,而它与 TLS v1.2 兼容,因此您可以通过三种方式解决它:
1) 将您的 JDK 版本升级到 1.8
2) 从服务器
禁用所有 DHE 密码3) 在服务器上使用 1048 DH 密钥
有关详细信息,请参阅 here