Red Hat build of OpenJDK 17.0.8 发行注记

Red Hat build of OpenJDK 17

Red Hat Customer Content Services

摘要

红帽构建的 OpenJDK 17.0.8 发行注记 文档概述了红帽构建的 OpenJDK 17 中的新功能以及潜在的已知问题列表和可能的临时解决方案。

前言

红帽构建的 OpenJDK (Open Java Development Kit)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。红帽构建的 OpenJDK 在三个版本中提供:8u、11u 和 17u。

红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。要提供反馈,您可以突出显示文档中的文本并添加注释。

本节介绍如何提交反馈。

先决条件

  • 已登陆到红帽客户门户网站。
  • 在红帽客户门户中,以多页 HTML 格式查看文档。

流程

要提供反馈,请执行以下步骤:

  1. 点文档右上角的反馈按钮查看现有的反馈。

    注意

    反馈功能仅在多页 HTML 格式中启用。

  2. 高亮标记您要提供反馈的文档中的部分。
  3. 点在高亮文本旁弹出的 Add Feedback

    文本框将在页面右侧的"反馈"部分中打开。

  4. 在文本框中输入您的反馈,然后点 Submit

    创建了一个与文档相关的问题。

  5. 要查看问题,请单击反馈视图中的问题跟踪器链接。

第 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-turbolibpnggiflib 用于镜像支持。RHEL 还动态链接 HarfbuzzFreetype 用于字体渲染和管理。此更改不适用于适用于 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 17.0.8.1 发行注记

查看以下发行注记以了解红帽构建的 OpenJDK 17.0.8.1 补丁版本的更改。

注意

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

修复了有效 .zip 文件中的 Invalid CEN 标头 错误

Red Hat build of OpenJDK 17.0.8 引入了对 .zip 文件的 ZIP64 字段(JDK-8302483)的额外验证检查。但是,这些额外的检查会在一些有效的 .zip 文件中导致验证失败,并显示以下错误消息: Invalid CEN header (invalid zip64 extra data field size)

要解决这个问题,红帽构建的 OpenJDK 17.0.8.1 支持零长度标头和一些 ZIP64 创建工具生成的额外的 padding。在 Red Hat build of OpenJDK 17.0.8 之后,您可以通过将 jdk.util.zip.disableZip64ExtraFieldValidation 系统属性设置为 true 来禁用这些检查。

请参阅 JDK-8313765 (JDK Bug System)

增加 jdk.jar.maxSignatureFileSize 系统属性的默认值

红帽构建的 OpenJDK 17.0.8 引入了 jdk.jar.maxSignatureFileSize 系统属性,用于在 Java 归档(JAR)文件(JDK-8300596)中配置允许签名相关文件的最大字节数。默认情况下,jdk.jar.maxSignatureFileSize 属性被设置为 8000000 字节(8 MB),对于某些 JAR 文件来说太小。

红帽构建的 OpenJDK 17.0.8.1 将 jdk.jar.maxSignatureFileSize 属性的默认值增加到 16000000 字节(16 MB)。

请参阅 JDK-8313216 (JDK Bug System)

以下公告已针对程序错误修正和 CVE 修复进行了程序错误修正和 CVE 修复:

第 4 章 Red Hat build of OpenJDK 功能

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

注意

有关所有其他更改和安全修复,请参阅 Red Hat build of OpenJDK 17.0.8 Released

Red Hat build of OpenJDK 的改进

Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。

使用 GregorianCalendar.computeTime ()时降低 JVM 崩溃的风险。

在 Red Hat build of OpenJDK 17.0.7 中,在使用 GregorianCalendar.computeTime () 方法(JDK-8307683)方法时,虚拟机崩溃可能会发生。虽然旧问题是此 JVM 崩溃的根本原因,但 C2 编译器(JDK-8297951)中个别问题的最近修复也会显著提高 JVM 崩溃的可能性。为降低风险,红帽构建的 OpenJDK 17.0.8 发行版本排除了 C2 编译器的修复。当 JVM 崩溃的根本原因被解决(JDK-8307683)后,OpenJDK 的 Red Hat build 将重新引入 C2 编译器的修复(JDK-8297951)。

请参阅 JDK-8308884 (JDK Bug System)

支持 GB18030-2022

中国电池标准研究所(CESI)最近发布了 GB18030-2022,作为对 GB18030 标准的更新,与 Unicode 11.0 同步字符集。GB18030-2022 标准现在是 Red Hat build of OpenJDK 17.0.8 使用的默认 GB18030 字符集。但是,与之前使用红帽构建的 OpenJDK 17 版本相比,这个更新的字符集包含与 GB18030-2000 相比不兼容的更改。从红帽构建的 OpenJDK 17.0.8 开始,如果要使用之前的字符集版本,请确保将新系统属性 jdk.charset.GB18030 设置为 2000

请参阅 JDK-8301119 (JDK Bug System)

增强的 ZIP 性能

Red Hat build of OpenJDK 17.0.8 发行版本包括对 .zip 文件的 ZIP64 字段进行增强的检查。如果这些检查在可信 .zip 文件中导致失败,您可以通过将新的系统属性 jdk.util.zip.disableZip64ExtraFieldValidation 设置为 true 来禁用这些检查。

JDK bug system reference ID: JDK-8302483.

增强的 JAR 签名验证

现在,您可以通过设置新的系统属性 jdk.jar.maxSignatureFileSize 来配置 Java 存档(JAR)文件中允许的最大字节数。默认情况下,jdk.jar.maxSignatureFileSize 属性设置为 8000000 字节(8 MB)。

JDK bug system reference ID: JDK-8300596.

添加了 GTS root 证书颁发机构(CA)证书

在 Red Hat build of OpenJDK 17.0.8 版本中,cacerts truststore 包括四个 Google Trust Services (GTS) root 证书:

证书 1
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar1
  • 区分名称: CN=GTS Root R1, O=Google Trust Services LLC, C=US
证书 2
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar2
  • 区分名称: CN=GTS Root R2, O=Google Trust Services LLC, C=US
证书 3
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar3
  • 可分辨名称:CN=GTS Root R3, O=Google Trust Services LLC, C=US
证书 4
  • Name: Google Trust Services LLC
  • 别名名称:gtsrootcar4
  • 可分辨名称:CN=GTS Root R4、O=Google Trust Services LLC, C=US

请参阅 JDK-8307134 (JDK Bug System)

添加了 Microsoft Corporation root CA 证书

在 Red Hat build of OpenJDK 17.0.8 版本中,cacerts truststore 包括两个 Microsoft Corporation root 证书:

证书 1
  • 名称:Microsoft Corporation
  • 别名名称:microsoftecc2017
  • 区分名称:CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
证书 2
  • 名称:Microsoft Corporation
  • 别名名称:microsoftrsa2017
  • 区分名称:CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US

请参阅 JDK-8304760 (JDK Bug System)

添加了 TWCA root CA 证书

在 Red Hat build of OpenJDK 17.0.8 版本中,cacerts truststore 包括 Taiwan 证书颁发机构(TWCA)根证书:

  • 名称 :TWCA
  • 别名名称: twcaglobalrootca
  • 区分名称: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

请参阅 JDK-8305975 (JDK Bug System)

新的 JFR 事件 jdk.SecurityProviderService

调用 java.security.Provider.getService (String type, String algorithm) 方法现在触发一个新的 JFR 事件 jdk.SecurityProviderService

jdk.SecurityProviderService 事件包含以下三个字段:

  • type :服务的类型
  • algorithm :算法名称
  • Provider: 安全供应商

jdk.SecurityProviderService 事件默认为禁用。您可以使用标准 JFR 配置文件和选项启用此事件。

请参阅 JDK-8254711 (JDK Bug System)

第 5 章 与本发行版本相关的公告

以下公告包括了记录程序错误修复和 CVE 修复:

更新于 2024-01-28

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.