第 3 章 Red Hat build of OpenJDK 功能


最新的 Red Hat build of OpenJDK 21 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 21 版本的功能。

注意

有关所有其他更改和安全修复,请参阅 OpenJDK 21.0.7 发行版本

Red Hat build of OpenJDK 的改进

红帽构建的 OpenJDK 21 为最初在以前版本的 OpenJDK 中创建的功能提供了改进。

jarsigner 工具中关于删除的文件条目的警告

在以前的红帽构建的 OpenJDK 版本中,当从签名的 JAR 文件中删除文件时,但文件签名仍然存在,jarsigner 工具不会检测到这种情况。

在 OpenJDK 21.0.7 中,您可以使用 jarsigner -verify 命令检查每个签名是否有匹配的文件条目。如果存在不匹配,这个命令会打印警告信息。要显示任何不匹配条目的名称,请在命令中添加 -verbose 选项。

请参阅 JDK-8309841 (JDK Bug System)

在 2025 年 4 月 15 日后发布的 TLS 服务器证书的不信任,由 Camerfirma 根 CA 发布

根据 Google、Mozilla、Apple 和 Microsoft 最近宣布的类似计划,红帽构建 OpenJDK 21.0.7 不信任于 2025 年 4 月 15 日之后发布的 TLS 证书,并由 Camerfirma root 证书发布。

Red Hat build of OpenJDK 将继续信任在 2025 年 4 月 15 日发布的证书,直到这些证书过期。

如果服务器的证书链由受影响的证书决定,则任何尝试协商 TLS 会话现在都会失败,但表明信任锚不被信任。例如:

TLS server certificate issued after 2025-04-15 and anchored by a distrusted legacy Camerfirma root CA: CN=Chambers of Commerce Root -
2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU

您可以使用以下 keytool 命令检查此更改是否影响 JDK 密钥存储中的证书:

keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>

如果此更改会影响链中的任何证书,请更新此证书或联系负责管理证书的机构。

如果要继续使用 Camerfirma root 证书实现的 TLS 服务器证书,您可以通过修改 java.security. properties 系统属性或从 jdk.security.caDistrustPolicies 安全属性中删除 CAMERFIRMA_TLS

注意

继续使用不信任的 TLS 服务器证书的风险自有风险。

这些限制适用于红帽构建的 OpenJDK 构建的以下 Camerfirma 根证书,其中包括:

证书 1
  • 别名名称: camerfirmachambers Businessca [jdk]
  • 区分名称: CN=Chambers of Commerce Root OU=http://www.chambersign.org O=AC Camerfirma SA CIF A82743287 C=EU
  • SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3
证书 2
  • 别名名称: camerfirmachambersca [jdk]
  • 区分名称:CCN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.SERIALNUMBER=A82743287 L=Madrid (请参阅 www.camerfirma.com/address 的当前地址)C=EU
  • SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
证书 3
  • 别名名称: camerfirmachambersignca [jdk]
  • 可分辨名称:CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.SERIALNUMBER=A82743287 L=Madrid (请参阅 www.camerfirma.com/address 的当前地址)C=EU
  • SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA

请参阅 JDK-8346587 (JDK Bug System)

修复了 PKCS11 机制中有问题的 SunPKCS11 供应商检查的问题

在 OpenJDK 14 中,SunPKCS11 供应商引入了 传统机制 的概念。如果机制使用弱算法,供应商会决定这种机制是旧的,然后禁用它。

在早期版本中,此行为不灵活。例如,您无法覆盖旧的确定来启用禁用的机制。另外,即使未使用加密,使用签名的机制也会被视为旧的,因此如果有弱加密算法,则禁用它。同样,弱签名算法阻止使用机制作为加密或解密的密码。

红帽构建的 OpenJDK 21.0.7 通过引入 SunPKCS11 供应商的 allowLegacy 配置属性来解决这些问题。您可以通过将 allowLegacy 属性设置为 true 来覆盖旧的确定。此属性默认设置为 false

从这个版本以后,供应商还会在决定旧状态时考虑服务类型。现在,供应商只检查加密算法,并只检查签名。

请参阅 JDK-8293345 (JDK Bug System)

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.