Red Hat build of OpenJDK 8.0.432 发行注记
摘要
前言 复制链接链接已复制到粘贴板!
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 文档的反馈 复制链接链接已复制到粘贴板!
要报告错误或改进文档,请登录您的红帽 JIRA 帐户并提交问题。如果您没有红帽 JIRA 帐户,系统会提示您创建一个帐户。
流程
- 单击以下链接 来创建 ticket。
- 在 Summary 中输入有关此问题的简单描述。
- 提供有关 描述 中问题或增强功能的详细描述。包括一个 URL,以在文档中发生问题。
- 点 Create 创建并将问题路由到适当的文档团队。
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
第 1 章 支持政策 复制链接链接已复制到粘贴板!
红帽在其产品中支持所选的 Red Hat build of OpenJDK 主版本。为了实现一致性,这些版本与 Oracle 为 Oracle JDK 的长期支持(LTS)相同。
自首次推出该版本时,红帽构建的 OpenJDK 的主版本将最少提供六年。如需更多信息,请参阅 OpenJDK 生命周期和支持政策
RHEL 6 于 2020 年 11 月结束其生命周期。因此,红帽构建的 OpenJDK 不支持 RHEL 6 作为支持的配置。
第 2 章 与上游 OpenJDK 8 的不同 复制链接链接已复制到粘贴板!
Red Hat build of OpenJDK in Red Hat Enterprise Linux (RHEL)包含来自 OpenJDK 上游发行版的许多结构更改。Red Hat build of Red Hat build of OpenJDK 的 Microsoft Windows 版本会尝试尽快遵循 RHEL 更新。
以下列表详细介绍了最显著的红帽构建的 OpenJDK 8 更改:
- FIPS 支持。红帽构建的 OpenJDK 8 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置红帽构建的 OpenJDK 8 以在该模式下运行。此更改不适用于针对 Microsoft Windows 的红帽构建的 OpenJDK 构建。
- 加密策略支持。Red Hat build of OpenJDK 8 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。此更改不适用于针对 Microsoft Windows 的红帽构建的 OpenJDK 构建。
-
在 RHEL 上构建 OpenJDK 会动态链接到原生库,如
zlib用于归档格式支持,libjpeg-turbo、libpng和giflib用于镜像支持。RHEL 还动态链接Harfbuzz和Freetype用于字体渲染和管理。此更改不适用于针对 Microsoft Windows 的红帽构建的 OpenJDK 构建。 -
src.zip文件包含由红帽构建的 OpenJDK 附带的所有 JAR 库的源。 - Red Hat build of OpenJDK on RHEL 使用系统范围的时区数据文件作为时区信息的源。
- RHEL 上的红帽构建的 OpenJDK 使用系统范围的 CA 证书。
- Red Hat build of OpenJDK on Microsoft Windows 包括 RHEL 的最新可用时区数据。
- Red Hat build of OpenJDK on Microsoft Windows 使用 RHEL 的最新可用 CA 证书。
第 3 章 Red Hat build of OpenJDK 8.0.432 发行注记 复制链接链接已复制到粘贴板!
最新的 Red Hat build of OpenJDK 8 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 8 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 8u432 发行版本。
Red Hat build of OpenJDK 的新功能和功能增强
请参阅以下发行注记以了解 Red Hat build of OpenJDK 8.0.432 提供了的新功能和功能增强:
TLS_ECDH27:2.7 密码套件默认是禁用的
TLS Elliptic-curve Diffie-Hellman (TLS_ECDH)密码套件不会保留转发保密,且很少使用。Red Hat build of OpenJDK 8.0.432 通过在 java.security 配置文件中的 jdk.tls.disabledAlgorithms 安全属性中添加 ECDH 选项来禁用 TLS_ECDH 密码套件。如果您尝试使用 TLS_ECDH 密码套件,红帽构建的 OpenJDK 现在会抛出 SSLHandshakeException 错误。
如果要继续使用 TLS_ECDH 密码套件,您可以通过修改 java.security. properties 系统属性或从 安全属性中删除 jdk.tls. disabledAlgorithmsECDH。
继续使用 TLS_ECDH 密码套件的风险自负。
使用 RC4 的 ECDH 密码套件在早期版本中被禁用。这个更改不会影响 TLS_ECDHE 密码套件,该套件默认保持启用。
请参阅 JDK-8279164 (JDK Bug System)。
2024 年 11 月 11 日和由 Entrust root CA 发布的 TLS 服务器证书的不信任
根据 Google 和 Mozilla 最近宣布的类似计划,红帽构建 OpenJDK 8.0.432 信任于 2024 年 11 月 11 日和由 Entrust root 证书颁发机构(CA)发布的 TLS 证书。这个行为的变化包括任何品牌为 AffirmTrust 的证书,这些证书由 Entrust 管理。
Red Hat build of OpenJDK 将继续信任在 2024 年 11 月 11 日或以前发布的证书,直到这些证书过期。
如果服务器的证书链由受影响的证书决定,则任何尝试协商 TLS 会话现在都会失败,但表明信任锚不被信任。例如:
TLS server certificate issued after 2024-11-11 and anchored by a distrusted legacy Entrust root CA: CN=Entrust.net CertificationAuthority (2048), OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
TLS server certificate issued after 2024-11-11 and anchored by a distrusted legacy Entrust root CA: CN=Entrust.net CertificationAuthority (2048), OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
您可以使用以下 keytool 命令检查此更改是否影响 JDK 密钥存储中的证书:
keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>
如果此更改会影响链中的任何证书,请更新此证书或联系负责管理证书的机构。
如果要继续使用 Entrust root 证书选择的 TLS 服务器证书,您可以通过修改 java.security. properties 系统属性或从 jdk.security.caDistrustPolicies 安全属性中删除 ENTRUST_TLS。
继续使用不信任的 TLS 服务器证书的风险自有风险。
这些限制适用于 Red Hat build of OpenJDK 的以下 Entrust root 证书,其中包括:
- 证书 1
- Alias name: entrustevca [jdk]
- 区分名称: CN=Entrust Root Certification Authority, OU=(c) 2006 Entrust, Inc., OU=www.entrust.net/CPS 由参考, O=Entrust, Inc., C=US
- SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
- 证书 2
- Alias name: entrustrootcaec1 [jdk]
- 区分名称: CN=Entrust Root Certification Authority - EC1, OU=(c) 2012 Entrust, Inc. - 仅授权使用,OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
- SHA256: 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
- 证书 3
- Alias name: entrustrootcag2 [jdk]
- 区分名称: CN=Entrust Root Certification Authority - G2, OU=(c) 2009 Entrust, Inc. - 仅授权使用,OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
- SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
- 证书 4
- Alias name: entrustrootcag4 [jdk]
- 区分名称: CN=Entrust Root Certification Authority - G4, OU=(c) 2015 Entrust, Inc. - 仅授权使用,OU=See www.entrust.net/legal-termsO=Entrust, Inc., C=US
- SHA256: DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
- 证书 5
- Alias name: entrust2048ca [jdk]
- 区分名称: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net
- SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
- 证书 6
- Alias name: affirmtrustcommercialca [jdk]
- distinguished name: CN=AffirmTrust Commercial, O=AffirmTrust, C=US
- SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
- 证书 7
- Alias name: affirmtrustnetworkingca [jdk]
- distinguished name: CN=AffirmTrust Networking, O=AffirmTrust, C=US
- SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B
- 证书 8
- Alias name: affirmtrustpremiumca [jdk]
- distinguished name: CN=AffirmTrust Premium, O=AffirmTrust, C=US
- SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
- 证书 9
- Alias name: affirmtrustpremiumeccca [jdk]
- distinguished name: CN=AffirmTrust Premium ECCO=AffirmTrust, C=US
- SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
请参阅 JDK-8337664 (JDK Bug System) 和 JDK-8341059 (JDK Bug System)。
添加 ssl.com 根证书
在 OpenJDK 8.0.432 中,cacerts truststore 包括两个 SSL.com TLS 根证书:
- 证书 1
- 名称:SSL.com
- 别名名称:ssltlsrootecc2022
- 区分名称: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
- 证书 2
- 名称:SSL.com
- 别名名称:ssltlsrootrsa2022
- distinguished name: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
请参阅 JDK-8341057 (JDK Bug System)。
Java Abstract 窗口工具包(AWT) Robot 规格
Red Hat build of OpenJDK 8.0.432 基于 Java 8 规格的最新维护发行版本。此发行版本在 java.awt.Robot 类中调整以下三种方法规格:
-
mouseMove(int,int) -
getPixelColor(int,int) -
createScreenCapture(Rectangle)
这种规格放松允许这些方法在桌面环境不允许移动鼠标指针或捕获屏幕内容时失败。
请参阅 JDK-8307779 (JDK Bug System)。
对 com.sun.jndi.ldap.object.trustSerialData 系统属性的更改
LDAP 供应商的 JDK 实施默认不再支持 Java 对象的反序列化。
在 OpenJDK 8.0.432 中,com.sun.jndi.ldap.object.trustSerialData 系统属性默认设置为 false。此发行版本还增加 com.sun.jndi.ldap.object.trustSerialData 属性的范围,以覆盖 javaRemoteLocation LDAP 属性中的 RMI 远程对象的重新构建。
这些更改意味着,Java 对象透明序列化需要明确选择。从 OpenJDK 8.0.432 开始,如果要允许应用程序从 LDAP 属性重建 Java 对象和 RMI 存根,则必须明确将 com.sun.jndi.ldap.object.trustSerialData 属性设置为 true。
请参阅 JDK-8290367 (JDK Bug System) 和 JDK-8332643 (JDK Bug System)。
HTTP 客户端增强
Red Hat build of OpenJDK 8.0.432 会限制 HTTP 客户端在 JDK 中针对所有支持的 HTTP 协议接受的最大标头字段大小。标头字段大小计算为未压缩标头名称的总和、未压缩标头值的大小,以及每个字段部分行的开销为 32 字节。如果对等点发送超过这个限制的字段部分,则会引发 java.net.ProtocolException。
Red Hat build of OpenJDK 8.0.432 引入了 jdk.http.maxHeaderSize 系统属性,可用于更改最大标头字段大小(以字节为单位)。或者,您可以通过将 jdk.http.maxHeaderSize 属性设置为 0 或负值来禁用最大标头字段大小。jdk.http.maxHeaderSize 属性默认设置为 393,216 字节(即 384KB)。
请参阅 JDK-8328286 (JDK Bug System)。
修复了 ZipOutputStream.close () 方法中的无限循环
在以前的版本中,当在 closure 期间抛出异常时,DeflaterOutputStream.close ()、GZIPOutputStream.finish () 和 ZipOutputStream.closeEntry () 方法没有关闭关联的默认 JDK 压缩器。
Red Hat build of OpenJDK 8.0.432 通过确保默认压缩器在传播 Throwable 对象启动调用堆栈前关闭来解决这个问题。如果是 ZipOutputStream,仅当异常不是 ZipException 时,默认压缩器才会关闭。
请参阅 JDK-8193682 (JDK Bug System)。
Windows 构建工件的命名规则的更改
此发行版本引入了一些作为 Red Hat build of OpenJDK 8 for Windows Server 平台一部分的文件命名更改。
这些文件命名更改会影响红帽为 OpenJDK 8 构建的 JDK、JRE 和 debuginfo 软件包提供的 .zip 归档和 .msi 安装程序。
这个变化的目的是采用一个通用命名惯例,它在红帽目前支持的不同版本的 OpenJDK 中保持一致。这意味着,Red Hat build of OpenJDK 8 现在与红帽已经为 OpenJDK 21 构建的命名惯例一致。
这些更改不会影响 Linux 可移植构建的文件。
以下列表提供了这些命名更改对 Red Hat build of OpenJDK 8 中文件的影响的示例:
MSI 安装程序
红帽构建的 OpenJDK 8.0.422 或更早版本的旧命名格式:
java-1.8.0-openjdk-<version>.<build>.redhat.windows.x86_64.msi红帽构建的 OpenJDK 8.0.432 或更高版本的新命名格式:
java-1.8.0-openjdk-<version>.<build>.win.x86_64.msi
JDK 软件包的
.zip归档红帽构建的 OpenJDK 8.0.422 或更早版本的旧命名格式:
java-1.8.0-openjdk-<version>.<build>.redhat.windows.x86_64.zip红帽构建的 OpenJDK 8.0.432 或更高版本的新命名格式:
java-1.8.0-openjdk-<version>.<build>.win.jdk.x86_64.zip
JRE 软件包的
.zip归档红帽构建的 OpenJDK 8.0.422 或更早版本的旧命名格式:
java-1.8.0-openjdk-jre-<version>.<build>.redhat.windows.x86_64.zip红帽构建的 OpenJDK 8.0.432 或更高版本的新命名格式:
java-1.8.0-openjdk-<version>.<build>.win.jre.x86_64.zip
debuginfo软件包的.zip归档红帽构建的 OpenJDK 8.0.422 或更早版本的旧命名格式:
java-1.8.0-openjdk-<version>.<build>.redhat.windows.x86_64.debuginfo.zip红帽构建的 OpenJDK 8.0.432 或更高版本的新命名格式:
java-1.8.0-openjdk-<version>.<build>.win.debuginfo.x86_64.zip
第 4 章 与本发行版本相关的公告 复制链接链接已复制到粘贴板!
以下公告包括了记录程序错误修复和 CVE 修复:
更新于 2024-10-19