红帽构建的 OpenJDK 11.0.14 发行注记


Red Hat build of OpenJDK 11

Red Hat Customer Content Services

摘要

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

前言

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

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

提供有关红帽构建的 OpenJDK 文档的反馈

要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。

流程

  1. 单击以下链接 以创建 ticket
  2. Summary 中输入问题的简短描述。
  3. Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
  4. Submit 创建问题,并将问题路由到适当的文档团队。

使开源包含更多

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

第 1 章 红帽构建的 OpenJDK 支持政策

红帽在其产品中支持选择版本的 OpenJDK 的主版本。为实现一致性,这些版本与 Oracle JDK 的长期支持(LTS)指定的版本相同。

自首次引入该版本起,红帽构建的 OpenJDK 主版本将最少提供六年的支持。如需更多信息,请参阅 OpenJDK 生命周期和支持政策

注意

RHEL 6 于 2020 年 11 月结束其生命周期。因此,红帽构建的 OpenJDK 不支持 RHEL 6 作为支持的配置。

第 2 章 与上游 OpenJDK 11 的不同

Red Hat 在 Red Hat Enterprise Linux (RHEL)中构建 OpenJDK 包含了来自 OpenJDK 上游发行版的许多结构更改。红帽构建的 Microsoft Windows 版本尝试尽快遵循 RHEL 更新。

以下列表详细介绍了 OpenJDK 11 最显著的红帽构建变化:

  • FIPS 支持。Red Hat build of OpenJDK 11 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置红帽构建的 OpenJDK 11 以在该模式下运行。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • 加密策略支持。红帽构建的 OpenJDK 11 从 RHEL 获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • RHEL 上的红帽构建的 OpenJDK 会动态链接到原生库,如 zlib 用于归档格式支持,libjpeg-turbolibpnggiflib 用于镜像支持。RHEL 还动态链接 HarfbuzzFreetype 用于字体渲染和管理。
  • src.zip 文件包含红帽构建的 OpenJDK 附带的所有 JAR 库的源。
  • RHEL 上的红帽 OpenJDK 构建使用系统范围的时区数据文件作为时区信息的来源。
  • RHEL 上的红帽构建的 OpenJDK 使用系统范围的 CA 证书。
  • Microsoft Windows 上的红帽构建的 OpenJDK 包括 RHEL 的最新可用时区数据。
  • Microsoft Windows 上的红帽构建的 OpenJDK 使用 RHEL 的最新可用 CA 证书。

其他资源

第 3 章 Red Hat build of OpenJDK 11.0.14.1 发行注记

查看以下发行注记以了解此红帽构建的 OpenJDK 11.0.14 补丁版本的变化:

3.1. 解决了 https://google.com 连接问题

红帽构建的 OpenJDK 11.0.14.1 发行版本解决了在使用 Java HTTP 客户端 java.net.HTTPClient 时标识的问题,以连接到 https://google.com URL。这个问题仍然保留在适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建以及 RHEL 的 OpenJDK 构建的 Red Hat build 中。

初始红帽构建的 OpenJDK 11.0.14 发行版本包含了一个回归问题,它已被改进引入到 HTTP 客户端。这个回归会导致 :authorityHost 标头字段在 HTTP/2 请求中发送,这些请求会被拒绝,如 Google 的服务器。当您尝试建立此连接时,您会收到异常信息。此异常消息表示 Java HTTP 客户端无法使用 HTTP/2 协议成功通信。

尝试使用 java.net.HTTPClient连接到 https://google.com 时异常消息示例

java.util.concurrent.ExecutionException: java.io.IOException: Received RST_STREAM: Protocol error

红帽构建的 OpenJDK 11.0.14.1 发行版本通过恢复到在 HTTP/2 请求中发送 :authority 标头字段的原始行为来解决这个问题。

有关此问题及其解决方式的更多信息,请参阅 JDK-8218546,并查看与红帽构建的 OpenJDK 11.0.14.1 发行版本相关的公告。

第 4 章 Red Hat build of OpenJDK 功能

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

注意

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

4.1. 新功能及功能增强

查看以下发行注记以了解红帽构建的 OpenJDK 11.0.14 发行版本中包含的新功能和功能增强:

归档文件系统供应商

对于红帽构建的 OpenJDK 11.0.14,归档文件系统供应商拒绝包含句点(.)或两个点(..)的文件名元素的现有存档文件。如果您试图使用包含这些命名元素的现有存档文件作为系统文件,并且调用 java.nio.file.FileSystems.newFileSystem (…​) 方法,则方法会在命令行界面中抛出 ZipException 错误消息。

有关归档文件系统提供程序的更改的更多信息,请参阅 JDK-8271517

IANA 时区数据库

互联网编号分配机构(IANA)将其时区数据库更新至 2021c 版本。Red Hat OpenJDK 日期和时间库依赖于 IANA 的时区数据库来确定全球各种区域的本地时间。

注意

2021b 发行版本的 Time Zone Database 更新了时区规则,这些规则在 1970 之前存在。有关 2021b 发行版本的更多信息,请参阅 2021b 发布 tz 代码和数据

有关 IANA 时区数据库的更多信息,请参阅 IANA 网站上的时区数据库。https://www.iana.org/time-zones

有关 IANA 2021c Time Zone 数据库发行版本的更多信息,请参阅 JDK-8274857

OpenJDK 对 Microsoft Windows 版本进行标识

在 Red Hat build of OpenJDK 11 之前,从 System.getProperty () 检索的 os.name 系统属性,HotSpot 错误日志会在 Microsoft Windows 11 上的 Microsoft Windows 11 和 Windows Server 2019 上报告 Windows 10.0 on Microsoft Windows 11 和 Windows Server 2019。红帽构建的 OpenJDK 现在标识了这些系统上的正确版本。

GC.heap_dump 诊断命令的新选项

红帽构建的 OpenJDK 11.0.14 将 gz 整数选项添加到 jcmd 工具的 GC.heap_dump 诊断命令中。

您可以使用这个选项启用 gzip 压缩,并在创建堆转储时设置压缩级别。压缩级别值的范围为 1 到 9,值为 1 作为速度最快的设置,值 9 作为最慢的设置。

有关 gz 整数选项的更多信息,请参阅 JDK-8250554

Microsoft Windows 版本

在 Microsoft Windows 11 或 Microsoft Windows Server 2022 上运行的红帽构建的 OpenJDK 现在会在 System.getProperty () 系统属性的 os.name 值和任何 HotSpot 错误日志中显示正确的 Microsoft Windows 版本。在红帽构建的 OpenJDK 11.0.14 发行版本之前,如果您将 Microsoft Windows 操作系统或 Microsoft Windows Server 更新至更新的版本,则无法实现此行为。

禁用 TLS 扩展的系统属性

您可以使用两个新系统属性禁用 TLS 协议的传输层安全(TLS)扩展。这些系统属性的详情如下:

  • JDK.tls.client.disableExtensions,它禁用 TLS 客户端使用的 TLS 扩展。
  • JDK.tls.server.disableExtensions,它禁用 TLS 服务器使用的 TLS 扩展。

禁用的 TLS 扩展不会形成 TLS 握手进程的一部分。您不能禁用强制 TLS 扩展,因为这些 TLS 扩展对于建立 TLS 握手至关重要。

两个系统属性都忽略重复的、拼写错误、未知和不支持的 TLS 扩展名称。扩展名称必须符合互联网编号分配机构(IANA)规范。

有关这些新系统属性的更多信息,请参阅 JDK-8260310

有关符合 IANA 规范的 TLS 扩展的更多信息,请参阅 IANA 网站上的 传输层安全(TLS)扩展

SunPKCS11 供应商配置属性

SunPKCS11 供应商包含新的配置属性,用于增强原生资源的使用,如密钥对象。SunPKCS11 供应商必须使用原生资源才能与原生 PKCS11 库一起使用。

表 4.1. 新的 SunPKCS11 供应商配置属性
属性类型

destroyTokenAfterLogout

布尔值

cleaner.shortInterval

整数

cleaner.longInterval

整数

有关新的 SunPKCS11 供应商配置属性的更多信息,请参阅 JDK-8272907

4.2. 弃用和删除的功能

查看以下发行注记以了解在 Red Hat build of OpenJDK 11.0.14 发行版本中已弃用或删除的预先存在的功能:

Google GlobalSign root 证书

红帽构建的 OpenJDK 11.0.14 从 cacerts 密钥存储中删除以下 root 证书:

别名名称
globalsignr2ca [jdk]
可区分名称
CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2

有关删除 Google GlobalSign root 证书的更多信息,请参阅 JDK-8272535

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

以下公告已发布到这个版本中包含的程序错误修复和 CVE 修复。

更新于 2024-05-10

法律通告

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.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.