【问题标题】:What does "Reason: DHPublicKey does not comply to algorithm constraints" mean?“原因:DHPublicKey 不符合算法约束”是什么意思?
【发布时间】:2019-02-24 10:40:17
【问题描述】:

我想连接到另一台机器时看到这个错误:

严重:无法创建连接 XXXXX: XXXXX 建立到主机和端口的套接字时出错:XXXXX:XXXXX。原因:DHPublicKey 不符合算法约束

这是什么原因?

【问题讨论】:

    标签: java security encryption


    【解决方案1】:

    原因是服务器只支持弱密码。虽然更新服务器当然是干净/好的解决方案,但快速的方法是删除提到的约束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 &lt; 1024。所以不允许使用更小的键。

    替换为

    jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, \
    

    或完全删除DH keySize &lt; 1024 部分可以解决问题。

    你可以通过

    $ sed -i "s/ DH keySize < 1024,//" /usr/lib/jvm/default-java/jre/lib/security/java.security
    

    【讨论】:

    • 使用 Centos 8、Java 8、tomcat 9,我必须在 /etc/crypto-policies/back-ends/java.config 中进行更改
    • 这对整体安全性有影响吗?
    • @Hiren 禁用的算法被禁用,因为它们被认为“不够安全”。显然,允许使用那些较旧的算法/配置参数将不如使用较新的算法/配置参数安全,但这种风险的严重程度取决于您的很多情况(通过互联网共享银行数据与个人资料图片不同在您的内部网络中)。
    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2021-07-04
    • 2010-10-20
    • 1970-01-01
    • 2015-09-18
    • 2017-03-29
    相关资源
    最近更新 更多