Ssl JDK1.8是否支持使用大小为4096位的Diffie-Hellman(DH)密钥的密码套件

Ssl JDK1.8是否支持使用大小为4096位的Diffie-Hellman(DH)密钥的密码套件,ssl,java-8,apache-httpclient-4.x,diffie-hellman,Ssl,Java 8,Apache Httpclient 4.x,Diffie Hellman,我想知道JDK1.8是否支持4096位的DH密钥长度 我到处搜索,都发现jdk.tls.ephemeralDHKeySize只能接受1024到2048位 我必须连接到一个支持 “TLS_DHE_RSA_与_AES_128_GCM_SHA256(0x9e)DH 4096位(p:512,g: 1,Ys:512)” 但是我越来越 “无法生成DH密钥对”异常 编辑: 添加一些额外的信息 我正在使用ApacheHttpClient-4.2.5连接到站点。 服务器还支持 “TLS_DHE_RSA_与_AES

我想知道JDK1.8是否支持4096位的DH密钥长度

我到处搜索,都发现
jdk.tls.ephemeralDHKeySize
只能接受1024到2048位

我必须连接到一个支持

“TLS_DHE_RSA_与_AES_128_GCM_SHA256(0x9e)DH 4096位(p:512,g: 1,Ys:512)”

但是我越来越

“无法生成DH密钥对”异常

编辑:

添加一些额外的信息

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

“TLS_DHE_RSA_与_AES_256_GCM_SHA384(0x9f)-4096位”

当我使用JDK1.8并尝试连接时,服务器会选择密码套件,但JDK1.8只支持2048位,连接失败

编辑:

Bouncy castle可以用作支持4096位的变通方法。

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


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

不确定在这种情况下是否真的有必要。但是在使用加密技术时,如果使用超大密钥,通常最好将强度无限的Java加密扩展策略文件安装到JRE中。谢谢@Robert!我也安装了无限强度JCE,仍然得到同样的错误。请你详细说明一下为什么没有必要这样做,以便我能找出哪里出了问题。