OpenJDK 11.0.19 发行注记
摘要
前言
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 主版本。为了实现一致性,这些版本与 Oracle 为 Oracle JDK 指定的 "LTS" 相同。
自首次引入后,OpenJDK 的主版本会最少在六年内被支持。
在 Microsoft Windows 和 Red Hat Enterprise Linux 上支持 OpenJDK 11,直到 2024 年 10 月为止。
RHEL 6 于 2020 年 11 月结束其生命周期。因此,OpenJDK 不支持 RHEL 6 作为支持配置。
第 2 章 与上游 OpenJDK 11 的不同
Red Hat Enterprise Linux(RHEL)中的 OpenJDK 包含了来自 OpenJDK 上游发行版的许多结构更改。Microsoft Windows 版本尝试尽快遵循 RHEL 更新。
以下列表详细介绍了最显著的 Red Hat OpenJDK 11 更改:
- FIPS 支持。Red Hat OpenJDK 11 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 OpenJDK 11 以在该模式下运行。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
- 加密策略支持。Red Hat OpenJDK 11 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。这个更改不适用于 Microsoft Windows 的 OpenJDK 构建。
-
RHEL 上的 Red Hat OpenJDK 会动态链接到原生库,如
zlib用于归档格式支持,libjpeg-turbo、libpng和giflib用于镜像支持。RHEL 还动态链接Harfbuzz和Freetype用于字体渲染和管理。 -
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 证书。
其他资源
- 有关检测系统是否处于 FIPS 模式的更多信息,请参阅 Red Hat RHEL 计划 JIRA 中的增强系统 FIPS 检测示例。
- 有关加密策略的更多信息,请参阅使用系统范围的加密策略。
第 3 章 OpenJDK 功能
最新的 OpenJDK 11 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前 OpenJDK 11 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 11.0.19 发行版本。
OpenJDK 的新功能和增强
请参阅以下发行注记以了解 OpenJDK 11.0.19 发行版本中包含的新功能和功能增强:
SSLv2Hello 和 SSLv3 协议从默认启用的 TLS 协议中删除
SSLv2Hello 和 SSLv3 是默认禁用的 SSL 协议版本,因为它们在一段时间内不被视为安全。SSLv2Hello 和 SSLv3 协议由更安全的、现代 TLS 协议替代,用户可以切换到 TLS 版本 1.2 或 1.3。
随着 OpenJDK 11.0.19 版本,默认启用的协议列表不再包含 SSLv2Hello 和 SSLv3。因此,即使您从 jdk.tls.disabledAlgorithms 安全属性中删除 SSLv3,以下方法将不再返回 SSLv3:
-
SSLServerSocket.getEnabledProtocols() -
SSLEngine.getEnabledProtocols() -
SSLParameters.getProtocols()
现在,如果要启用 SSLv3,则必须使用 jdk.tls.client.protocols 或 jdk.tls.server.protocols 系统属性,或者使用以下方法之一启用 SSLv3:
-
SSLSocket.setEnabledProtocols() -
SSLServerSocket.setEnabledProtocols() -
SSLEngine.setEnabledProtocols()
请参阅 JDK-8190492 (JDK Bug System)。
Certigna (Dhimyotis) root 证书颁发机构 (CA) 证书
在 OpenJDK 11.0.19 中,cacerts truststore 包括 Certigna (Dhimyotis) root 证书:
- 名称:Certigna (Dhimyotis)
- 别名名称:certignarootca
- 标识名称: CN=Certigna, O=Dhimyotis, C=FR
请参阅 JDK-8245654 (JDK Bug System)。
listRoots 方法返回 Windows 上所有可用驱动器
在以前的版本中,Windows 系统上的 java.io.File.listRoots() 方法过滤掉所有无法访问或者没有加载介质的磁盘驱动器。但是,这个过滤会导致可观察到的性能问题。
现在,随着版本 OpenJDK 11.0.19 的发布,listRoots 方法会返回所有可用的磁盘驱动器未过滤。
请参阅 JDK-8208077 (JDK Bug System)。
增强的 Swing 平台支持
在 OpenJDK 的早期版本中,html 对象标签呈现在 Swing HTML 组件中。在 OpenJDK 11.0.19 版本中,只有在将新系统属性 swing.html.object 设置为 true 时才会进行渲染。默认情况下,swing.html.object 属性设置为 false。
JDK 错误系统参考 ID: JDK-8296832。
第 4 章 与本发行版本相关的公告
以下公告包括了记录程序错误修复和 CVE 修复:
更新于 2023-05-02