gpt4 book ai didi

Java 11 + Chrome/Firefox = TLS 解密错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:12:32 25 4
gpt4 key购买 nike

我目前正在将一些服务器软件从 Java 8 迁移到 Java 11。一切正常,除了当我的服务器在 Java 11(而且只有 11)上运行时 TLS 连接被拒绝。也就是说,在 Java 10 及更高版本上运行时一切正常。一旦我切换到 Java 11(当然,两者之间绝对没有代码更改),我就会收到 TLS 解密错误。当我禁用 SSL/TLS 或当我使用 IE/Edge 连接到我的服务器(通过 TLS)时,我的应用程序工作正常。使用 Chrome 70 或 Firefox 62 时,我分别得到 ERR_SSL_PROTOCOL_ERRORSEC_ERROR_BAD_SIGNATURE

我尝试使用 WireShark 对此进行分析(参见我的 dump)。我的结论是 Java 11 和 Chrome/Firefox 协商了一个错误的密码套件 (rsa_pss_rsae_sha256),这在某种程度上不适用于 Java 11。Java 8 和 IE/Edge 似乎协商了一个不同的密码套件 (rsa_pkcs1_sha256),但它有效。

有人知道如何解决这个问题或至少暂时解决这个问题(当然除了禁用 SSL/TLS 或使用 IE/Edge 之外)?提前致谢。

最佳答案

这很可能是 TLS 1.3 中新的 PSS 算法的兼容性问题。您可以阅读有关引入 PSS 背后原因的很好解释 here .

在修复之前,您可以通过编辑 lib/security/java.security 并将 TLSv1.3 添加到 jdk.tls.disabledAlgorithms 来阻止您的服务器协商 TLS 1.3属性(property)。

关于Java 11 + Chrome/Firefox = TLS 解密错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52830481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com