我刚刚运行的安全审核发现我们正在使用Diffie-Hellman组(TLS)的低于标准密钥强度(建议2048或更高,我们的是1024位)。经过研究,我发现启动JDK 8我们可以将DH密钥大小设置为2048。 How to expand DH key size to 2048 in java 8中建议的所有选项 适用于Oracle JDK,他们确实可以为此工作。
但是,当我尝试使用OpenJDK 8在我的Ubuntu上将-Djdk.tls.ephemeralDHKeySize=2048
设置为JVM参数时,它仍然是1024位。任何帮助表示赞赏。
答案 0 :(得分:2)
这不是最新JDK版本的问题,我已在JDK 9.0.4
和JDK 10
上进行了验证。正如bug report的注释中所述:jdk.tls.ephemeralDHKeySize
属性仅对服务器端握手代码产生影响,因此应在服务器端JVM上使用。
在最新的Oracle JDK 8u161
中,如果在服务器端设置了此选项,则此方法有效。从JDK 9
开始,FFDHE可用,并且在客户端设置属性时具有效果。