JDK 1.8是否支持具有4096位Diffie-Hellman(DH)密钥的密码套件

时间:2015-04-20 10:47:41

标签: ssl java-8 apache-httpclient-4.x diffie-hellman

我想知道 JDK 1.8 是否支持DH密钥长度为4096位。

我搜索到的每个地方,我发现jdk.tls.ephemeralDHKeySize只能接受1024到2048位之间的

我必须连接到支持

的网站
  

" TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x9e)DH 4096位(p:512,g:   1,Ys:512)"。

但我得到了

"无法生成DH密钥对"例外。

编辑:

添加一些额外信息,

我正在使用Apache httpclient-4.2.5连接到该站点。 服务器还支持

  

" TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(0x9f) - 4096位"。

当我使用JDK 1.8并尝试连接时,服务器正在选择密码套件,但JDK 1.8仅支持2048位,并且我的连接失败。

编辑:

Bouncy castle可用作支持4096位的变通方法。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6521495

1 个答案:

答案 0 :(得分:0)

显然它适用于Windows和OS X,但不适用于Linux。不要问为什么,我所知道的是Windows和OS X客户端可以通过Java连接到密钥大小为4096的服务器,而Linux客户端则不能。

https://bugzilla.redhat.com/show_bug.cgi?id=1163501

它还没有在Fedora中修复,所以它可能需要很长时间才能进入CentOS / RHEL。