「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 を使用してみましたが、それでも同じ例外が発生します。
どんな助けでも素晴らしいでしょう。ありがとう。