【发布时间】:2019-02-24 10:40:17
【问题描述】:
我想连接到另一台机器时看到这个错误:
严重:无法创建连接 XXXXX: XXXXX 建立到主机和端口的套接字时出错:XXXXX:XXXXX。原因:DHPublicKey 不符合算法约束
这是什么原因?
【问题讨论】:
标签: java security encryption
我想连接到另一台机器时看到这个错误:
严重:无法创建连接 XXXXX: XXXXX 建立到主机和端口的套接字时出错:XXXXX:XXXXX。原因:DHPublicKey 不符合算法约束
这是什么原因?
【问题讨论】:
标签: java security encryption
原因是服务器只支持弱密码。虽然更新服务器当然是干净/好的解决方案,但快速的方法是删除提到的约束here:
在/usr/lib/jvm/default-java/jre/lib/security/java.security 或 - 取决于您的操作系统 - /etc/crypto-policies/back-ends/java.config 内有一行
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
注意DH keySize < 1024。所以不允许使用更小的键。
替换为
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, \
或完全删除DH keySize < 1024 部分可以解决问题。
你可以通过
$ sed -i "s/ DH keySize < 1024,//" /usr/lib/jvm/default-java/jre/lib/security/java.security
【讨论】: