第 3 章 Red Hat build of OpenJDK 功能


3.1. 新功能及功能增强

本节论述了本发行版本中引入的新功能。它还包含有关现有功能更改的信息。

注意

有关所有其他更改和安全修复,请参阅 https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2021-July/006954.html

3.1.1. 添加了自定义 PKCS12 密钥存储生成

添加了新的系统和安全属性,以便用户能够自定义 PKCS TOTP 密钥存储的生成。这包括用于密钥保护、证书保护和 MacData 的算法和参数。在 java.security 文件的 "PKCS12 KeyStore properties" 部分查找这些属性的详细解释和可能的值。

另外,为 SunJCE 供应商添加了对基于 SHA-2 的 HmacPBE 算法的支持:

  • HmacPBESHA224
  • HmacPBESHA256
  • HmacPBESHA384
  • HmacPBESHA512
  • HmacPBESHA512/224
  • HmacPBESHA512/256

如需更多信息,请参阅 JDK-8215293

3.1.2. 删除了带有 1024 位密钥的 root 证书

以下带有弱 1024 位 RSA 公钥的 root 证书已从 cacerts 密钥存储中删除:

  • 别名名称:thawtepremiumserverca [jdk]

    可分辨名称:EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA

  • 别名名称:verisignclass2g2ca [jdk]

    可分辨名称:OU=VeriSign Trust Network, OU=" (c) 1998 VeriSign, Inc. - 用于授权使用", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US

  • 别名名称:verisignclass3ca [jdk]

    可分辨名称:OU=Class 3 公共主要认证机构, O="VeriSign, Inc.", C=US

  • 别名名称:verisignclass3g2ca [jdk]

    可分辨名称:OU=VeriSign Trust Network, OU=" (c) 1998 VeriSign, Inc. - 用于仅授权使用", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US

  • 别名名称:verisigntsaca [jdk]

    可分辨名称:CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA

如需更多信息,请参阅 JDK-8256902

3.1.3. 删除了 Telia company 的 Sonera Class2 CA 证书

以下 root 证书已从 cacerts 信任存储中删除:

  • 别名名称:soneraclass2ca

    区分名称:CN=Sonera Class2 CA、O=Sonera、C=FI

如需更多信息,请参阅 JDK-8261361

3.1.4. 升级默认的 PKCS12 加密和 MAC 算法

更新了 PKCSencoding 密钥存储中使用的默认加密和 MAC 算法。基于 AES-256 和 SHA-256 的新算法比基于 RC2、DESede 和 SHA-1 的旧算法更强大。如需了解更多详细信息,请参阅 java.security 文件中以 keystore.pkcs12 开头的安全属性。

定义了一个名为 keystore.pkcs12.legacy 的新系统属性以保持兼容性。它将恢复算法以使用较旧的较弱算法。没有为此属性定义值。

如需更多信息,请参阅 JDK-8242069

SunJSSE 供应商无法读取或写入特定的 TLS ALPN 值。这是因为,选择 Strings 作为 API 接口,以及 UTF-8 字符集的内部使用,它会将大于 U+00007F (7-bit ASCII)的字符转换为多字节数组。

ALPN 值现在使用 peer 期望的网络字节表示表示,这不需要修改基于 7 位 ASCII 的标准字符字符串。但是,SunJSSE 现在将字符串字符编码为 8 位 ISO_8859_1/LATIN-1 字符。其意味着使用 U+000007F 编码的字符的应用程序可能需要修改,以执行 UTF-8 转换,或者您可以将 Java 安全属性 jdk.tls.alpnCharset 设置为 "UTF-8" 以恢复行为。

如需更多信息,请参阅 JDK-8257548

3.1.6. 添加了对 certificate_authorities 扩展的支持

certificate_authorities 扩展是 TLS 1.3 中引入的可选扩展。它指示证书颁发机构(CA),端点支持和接收端点用于指导证书选择。

此红帽构建的 OpenJDK 发行版本支持客户端和服务器端的 TLS 1.3 的 certificate_authorities 扩展。此扩展始终存在于客户端证书选择中,而对于服务器证书选择是可选的。

通过将 jdk.tls.client.enableCAExtension 系统属性设置为 true,应用程序可以为服务器证书选择启用此扩展。属性的默认值为 false

注意

如果客户端信任的 CA 超过扩展的大小限制(小于 2^16 字节),则不会启用扩展。另外,一些服务器实现不允许握手消息超过 2^14 字节。因此,当 jdk.tls.client.enableCAExtension 设为 true 且客户端信任比服务器实施限制更多的 CA 时,可能会出现互操作性问题。

如需更多信息,请参阅 JDK-8244460

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部