OpenJDK 17.0.7 发行注记
摘要
前言
OpenJDK(Open Java Development Kit)是 Java Platform, Standard Edition (Java SE) 的一个开源实现。红帽构建的 OpenJDK 在三个版本中提供:OpenJDK 8u、OpenJDK 11u 和 OpenJDK 17u。
红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对我们文档的反馈。要提供反馈,您可以突出显示文档中的文本并添加注释。
本节介绍如何提交反馈。
先决条件
- 已登陆到红帽客户门户网站。
- 在红帽客户门户中,以多页 HTML 格式查看文档。
流程
要提供反馈,请执行以下步骤:
点文档右上角的反馈按钮查看现有的反馈。
注意反馈功能仅在多页 HTML 格式中启用。
- 高亮标记您要提供反馈的文档中的部分。
点在高亮文本旁弹出的 Add Feedback。
文本框将在页面右侧的"反馈"部分中打开。
在文本框中输入您的反馈,然后点 Submit。
创建了一个与文档相关的问题。
- 要查看问题,请单击反馈视图中的问题跟踪器链接。
第 1 章 OpenJDK 的支持政策
红帽在其产品中支持所选的 OpenJDK 主版本。为了实现一致性,这些版本与指定为长期支持 (LTS) 的 Oracle JDK 版本类似。
红帽自红帽首次引入 OpenJDK 后至少提供六年的 OpenJDK 主版本。
Microsoft Windows 和 Red Hat Enterprise Linux 支持 OpenJDK 17,直到 2027 年 11 月为止。
RHEL 6 于 2020 年 11 月结束其生命周期。因此,OpenJDK 不支持 RHEL 6 作为支持配置。
其他资源
第 2 章 与上游 OpenJDK 17 的不同
Red Hat Enterprise Linux 中的 OpenJDK 包含了来自 OpenJDK 上游发行版的许多结构更改。Microsoft Windows 版本尝试尽快遵循 Red Hat Enterprise Linux 更新。
以下列表详细介绍了最显著的 Red Hat OpenJDK 17 更改:
- FIPS 支持。Red Hat OpenJDK 17 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 OpenJDK 17 以在该模式下运行。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
- 加密策略支持。Red Hat OpenJDK 17 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
-
RHEL 上的 Red Hat OpenJDK 会动态链接到原生库,如
zlib用于归档格式支持,libjpeg-turbo、libpng和giflib用于镜像支持。RHEL 还动态链接Harfbuzz和Freetype用于字体渲染和管理。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。 -
src.zip文件包含 OpenJDK 附带的所有 JAR 库的源。 - RHEL 上的 Red Hat OpenJDK 使用系统范围的时区数据文件作为时区信息的源。
- RHEL 上的 Red Hat OpenJDK 使用系统范围的 CA 证书。
- Microsoft Windows 上的 Red Hat OpenJDK 包括 RHEL 的最新可用时区数据。
- Microsoft Windows 上的 Red Hat OpenJDK 使用 RHEL 的最新可用 CA 证书。
其他资源
第 3 章 OpenJDK 功能
最新的 OpenJDK 17 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前 OpenJDK 17 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 17.0.7 发行版本。
OpenJDK 的改进
OpenJDK 17 为最初在 OpenJDK 版本中创建的功能提供增强。
Certigna (Dhimyotis) root 证书颁发机构 (CA) 证书
在 OpenJDK 17.0.7 中,cacerts truststore 包括 Certigna (Dhimyotis) root 证书:
- 名称:Certigna (Dhimyotis)
- 别名名称:certignarootca
- 标识名称: CN=Certigna, O=Dhimyotis, C=FR
请参阅 JDK-8245654 (JDK Bug System)。
新的 Java Flight Recorder (JFR)事件 jdk.InitialSecurityProperty
使用 OpenJDK 17.0.7 时,现在可在新的 JFR 事件 jdk.InitialSecurityProperty 中访问 java.security.Security 类加载的初始安全属性。
jdk.InitialSecurityProperty 事件包含以下两个字段:
- Key :安全属性键。
- value: 对应的安全属性值。
通过使用这个新事件和现有的 jdk.SecurityPropertyModification 事件,您现在可以在整个生命周期中监控安全属性。
在本发行版本中,当 -Djava.security.debug=properties 属性传递给 Java 虚拟机时,您还可以将初始安全属性输出到标准错误输出流。
请参阅 JDK-8292177 (JDK Bug System)。
如果 java.security 文件无法加载,则抛出错误
在以前的版本中,如果 OpenJDK 无法加载 java.security 文件,则会使用一组硬编码的安全属性。这组属性没有完全维护,在使用时用户并不明确。
现在,对于 OpenJDK 17.0.7,如果 OpenJDK 无法加载 java.security 文件,OpenJDK 会显示 InternalError 错误消息。
请参阅 JDK-8155246 (JDK Bug System)。
listRoots 方法返回 Windows 上所有可用驱动器
在以前的版本中,Windows 系统上的 java.io.File.listRoots() 方法过滤掉所有无法访问或者没有加载介质的磁盘驱动器。但是,这个过滤会导致可观察到的性能问题。
版本 OpenJDK 17.0.7 时,listRoots 方法会返回所有可用的磁盘驱动器未过滤。
请参阅 JDK-8208077 (JDK Bug System)。
增强的 Swing 平台支持
在 OpenJDK 的早期版本中,html 对象标签呈现在 Swing HTML 组件中。在 OpenJDK 17.0.7 版本中,只有在将新系统属性 swing.html.object 设置为 true 时才会进行渲染。默认情况下,swing.html.object 属性设置为 false。
JDK 错误系统参考 ID: JDK-8296832。
第 4 章 与本发行版本相关的公告
以下公告包括了记录程序错误修复和 CVE 修复:
更新于 2023-05-02