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

Uth*_*hra 7 ssl diffie-hellman java-8 apache-httpclient-4.x

我想知道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

bvi*_*tor 0

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

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

它甚至还没有在 Fedora 中得到修复,因此可能需要相当长的时间才能进入 CentOS/RHEL。