小编Cos*_*lis的帖子

使用 OpenJDK 14 java 模块运行时时 TLS 1.3 握手失败

这是我的第一篇文章。请善待。我搜索了很多网站,但没有任何运气。

我创建了一个使用 Java 14.0.2 和 JavaFX 14.0.2 开发的简单 Java 应用程序,该应用程序使用 TLS 连接到主机,并向用户提供基本的证书和协议信息。它是一个学习、测试和故障排除工具。

当使用 Intellij 或使用 OpenJDK 14 GA 版本的 java.exe 运行应用程序并指定应用程序 jar 的类路径时,所有版本的 TLS 均适用于 TLS 1.3(包括 TLS 1.3)。

我的问题是,在构建模块、使用 Jigsaw 中的 JLink 以及使用 Java 运行时 (JRT) 时,TLS 1.3 不起作用。TLS 1.0 和 1.2 工作正常。TLS 1.3 因握手失败而失败。

我认为问题与仅在使用 JRT 时在 Client Hello 中发送的受支持组或签名算法有关。

当使用 GA 版本的 Java 和应用程序 jar 时,客户端发送 10 个受支持的组:椭圆曲线组 (ECDHE) 和有限域组 (DHE)。它还发送 16 种签名算法(其中包括 ECDSA 算法)。

使用 JRT 时,客户端发送五个支持的组,其中仅是 DHE 组。它还发送 14 种签名算法(不包括 ECDSA 算法)。

我不确定这是否是由于我的模块信息中缺少需求或者它是否是一个错误。项目中只有一个模块,模块信息非常基础。构建项目时没有错误/警告,并且除了 javax.net.ssl.SSLHandshakeException 之外没有运行时错误。 …

java ssl module

3
推荐指数
1
解决办法
808
查看次数

标签 统计

java ×1

module ×1

ssl ×1