Red Hat build of OpenJDK 17.0.11 发行注记
摘要
前言
Open Java Development Kit (OpenJDK)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。红帽构建的 OpenJDK 有四个版本: 8u、11u、17u 和 21u。
红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。
提供有关红帽构建的 OpenJDK 文档的反馈
要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。
流程
- 单击以下链接 以创建 ticket。
- 在 Summary 中输入问题的简短描述。
- 在 Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
- 点 Submit 创建问题,并将问题路由到适当的文档团队。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
第 1 章 红帽构建的 OpenJDK 支持政策
红帽在其产品中支持选择版本的 OpenJDK 的主版本。为了实现一致性,这些版本与指定为长期支持 (LTS) 的 Oracle JDK 版本类似。
自首次引入该版本起,红帽构建的 OpenJDK 主版本将最少提供六年的支持。如需更多信息,请参阅 OpenJDK 生命周期和支持政策
RHEL 6 于 2020 年 11 月结束其生命周期。因此,红帽构建的 OpenJDK 不支持 RHEL 6 作为支持的配置。
第 2 章 与上游 OpenJDK 17 的不同
Red Hat 在 Red Hat Enterprise Linux 中构建 OpenJDK 包含了很多来自 OpenJDK 上游发行版的结构更改。红帽构建的 Microsoft Windows 版本尝试尽快遵循 Red Hat Enterprise Linux 更新。
以下列表详细介绍了最显著的 OpenJDK 17 更改:
- FIPS 支持。Red Hat build of OpenJDK 17 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 Red Hat build of OpenJDK 17 以在该模式下运行。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
- 加密策略支持。Red Hat build of OpenJDK 17 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
-
RHEL 上的红帽构建的 OpenJDK 会动态链接到原生库,如
zlib
用于归档格式支持,libjpeg-turbo
、libpng
和giflib
用于镜像支持。RHEL 还动态链接Harfbuzz
和Freetype
用于字体渲染和管理。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。 -
src.zip
文件包含红帽构建的 OpenJDK 附带的所有 JAR 库的源。 - RHEL 上的红帽 OpenJDK 构建使用系统范围的时区数据文件作为时区信息的来源。
- RHEL 上的红帽构建的 OpenJDK 使用系统范围的 CA 证书。
- Microsoft Windows 上的红帽构建的 OpenJDK 包括 RHEL 的最新可用时区数据。
- Microsoft Windows 上的红帽构建的 OpenJDK 使用 RHEL 的最新可用 CA 证书。
其他资源
第 3 章 Red Hat build of OpenJDK 功能
最新的 Red Hat build of OpenJDK 17 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 17 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 17.0.11 发行版本。
Red Hat build of OpenJDK 的改进
Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。
Java 更新到 Apache Santuario 3.0.3 的 XML 安全性。
在 Red Hat build of OpenJDK 17.0.11 中,XML 签名实现基于 Apache Santuario 3.0.3。
此增强包括以下四个基于 SHA3 的 RSA-MGF1 SignatureMethod
算法:
-
SHA3_224_RSA_MGF1
-
SHA3_256_RSA_MGF1
-
SHA3_384_RSA_MGF1
-
SHA3_512_RSA_MGF1
由于在更新版本中无法修改 javax.xml.crypto.dsig.SignatureMethod
API,以便为新算法提供恒定值,因此请为这些算法使用以下等效的字符串字面值:
-
http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1
-
http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1
-
http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1
-
http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1
此增强还引进了对 ED25519
和 ED448
elliptic curve 算法的支持,它们是 Edwards-curve Digital Signature Algorithm (EdDSA)签名方案。
与 Apache Santuario 3.0.3 的上游社区版本相反,JDK 仍然支持 here ()
函数。但是,无法保证对 here ()
函数的未来支持。您应该避免在新的 XML 签名中使用 here ()
。您还应该更新当前使用 here ()
停止使用此功能的任何 XML 签名。here ()
函数默认启用。要禁用 here ()
函数,请确保 jdk.xml.dsig.hereFunctionSupported
系统属性设为 false
。
请参阅 JDK-8319124 (JDK Bug System)。
修复了 jspawnhelper
的定义挂起的问题
在早期版本中,如果父 JVM 进程在 JVM 和 jspawnhelper 过程成功完成前失败,则
进程可能会无限期保持无响应。
jspawnhelper
在 OpenJDK 17.0.11 的红帽构建中,如果父进程预先失败,jspawnhelper
进程会从通信管道接收文件终止(EOF)信号。此功能增强有助于确保 jspawnhelper
进程正确关闭。
请参阅 JDK-8307990 (JDK Bug System)。
在大多数 Linux 桌面上,SystemTray.isSupported ()
方法返回 false
在 Red Hat build of OpenJDK 17.0.11 中,在不支持 SystemTray
API 的系统上,java.awt.SystemTray.isSupported ()
方法会返回 false
。此功能增强取决于 SystemTray
API 规格。
SystemTray
API 用于与系统桌面中的任务栏交互,以提供通知。SystemTray
可能还包括代表应用程序的图标。由于底层平台问题,对任务栏图标的 GNOME 桌面支持在数年内无法正常工作。此平台问题会影响 JDK 在 GNOME 桌面上提供 SystemTray
支持的能力。此问题通常会影响使用 GNOME Shell 44 或更早版本的系统。
因为缺少正确的 SystemTray
支持是某些系统上的长期问题,所以这个 API 增强在受影响系统中返回 false
可能会对用户造成最小的影响。
请参阅 JDK-8322750 (JDK Bug System)。
意外的 R1 和 E1 根证书
在 Red Hat build of OpenJDK 17.0.11 中,cacerts
truststore 包括两个 Certainly root 证书:
- 证书 1
- 名称 :Certainly
- 别名名称:clearrootr1
- 区分名称:CN=Certainly Root R1, O=Certainly, C=US
- 证书 2
- 名称 :Certainly
- 别名名称:clearroote1
- 区分名称:CN=Certainly Root E1, O=Certainly, C=US
第 4 章 与本发行版本相关的公告
以下公告包括了记录程序错误修复和 CVE 修复:
更新于 2024-04-20