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

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

我想知道 JDK 1.8 是否支持 4096 位的 DH key 长度。

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

我必须连接到一个支持

的站点

"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e) DH 4096 bits (p: 512, g: 1, Ys: 512)".

但是我得到了

“无法生成 DH key 对”异常。

编辑:

添加一些额外的信息,

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

"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f) - 4096 bits".

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

编辑:

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

最佳答案

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

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

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

关于ssl - JDK 1.8 是否支持具有 4096 位大小的 Diffie-Hellman (DH) key 的密码套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29745760/

相关文章:

php - PHP 7 升级后 MySQLi SSL 连接停止工作

java - 在 Java 8 中使用函数式接口(interface)作为 filter() 函数的参数

Java 8 迭代流操作

Java8 Apache Http 客户端 4.5.12 - SocketException

google-chrome - 如何调试自签名证书?

docker - 让 SSL 在 Docker 上与 nopCommerce 一起工作

java - SSLContext.getInstance ("TLS") 是否也支持 TLS v1.1 和 TLS v1.2?

Java - 使用::时函数是否在内部接收参数?

java - MATLAB 2012+ 中的 Apache HttpClient

android - Httppost 找不到方法 setConfig android