第 3 章 Red Hat build of OpenJDK 8.0.362 发行注记
最新的 Red Hat build of OpenJDK 8 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 8 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 8u362 发行版本。
红帽构建的 OpenJDK 新功能及改进
查看以下发行注记以了解 Red Hat build of OpenJDK 8.0.362 发行版本所提供的新功能和功能增强:
改进了 CORBA 通信
默认情况下,红帽构建的 OpenJDK 8.0.362 中的 CORBA 实现拒绝反序列化任何不包含 IOR: 前缀的对象。
如果要恢复到之前的行为,您可以将新的 com.sun.CORBA.ORBAllowDeserializeObject 属性设置为 true。
请参阅 JDK-8285021 (JDK Bug System)。
增强的 BMP 绑定
默认情况下,红帽构建的 OpenJDK 8.0.362 会禁用在 BMP 镜像中加载链接国际 Color Consortium (ICC)配置集。您可以通过将新的 sun.imageio.bmp.enabledLinkedProfiles 属性设置为 true 来启用此功能。此属性替换了旧的 sun.imageio.plugins.bmp.disableLinkedProfiles 属性
请参阅 JDK-8295687 (JDK Bug System)。
改进了声音的银行
在以前的版本中,Sun dbankReader 实现,com.sun.media.sound.JARSoundbankReader,从 URL 下载了 JAR soundbank。对于红帽构建的 OpenJDK 8.0.362,现在默认禁用此行为。要重新启用此行为,请将新系统属性 jdk.sound.jarsoundbank 设置为 true。
请参阅 JDK-8293742 (JDK Bug System)。
Red Hat build of OpenJDK 支持 Microsoft Windows 11
红帽构建的 OpenJDK 8.0.362 现在可识别 Microsoft Windows 11 操作系统,并可将 os.name 属性设置为 Windows 11。
请参阅 JDK-8274840 (JDK Bug System)。
SHA-1 Signed JARs
随着红帽构建的 OpenJDK 8.0.362 发行版本,默认使用 SHA-1 算法签名的 JAR,并像未签名一样对待。这些限制适用于以下算法:
- 用于摘要、签名和可选时间戳的算法。
- 代码签名者和 Timestamp Authority 的证书链中的证书的签名和摘要算法,以及任何证书撤销列表(CRL)或在线证书状态协议(OCSP)响应,用于验证这些证书是否已撤销。
另外,限制适用于签名的 Java Cryptography 扩展(JCE)供应商。
要降低之前时间戳的 JAR 的兼容性风险,限制不适用于 2019 年 1 月 01 日前使用 SHA-1 算法签名的任何 JAR 和时间戳。在以后的 Red Hat build of OpenJDK 发行版本中可能会删除这个例外。
要确定您的 JAR 文件是否受到限制的影响,您可以在 CLI 中发出以下命令:
$ jarsigner -verify -verbose -certs
在上一命令的输出中,搜索 SHA1 实例、SHA-1 或 禁用。此外,搜索指示 JAR 将被视为未签名的警告消息。例如:
Signed by "CN="Signer""
Digest algorithm: SHA-1 (disabled)
Signature algorithm: SHA1withRSA (disabled), 2048-bit key
WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01
考虑使用更强大的算法替换或重新签名受新限制影响的任何 JAR。
如果您的 JAR 文件受这个限制的影响,您可以删除算法并使用更强大的算法(如 SHA-256 )重新签署该文件。如果要删除红帽构建的 OpenJDK 8.0.362 的 SHA-1 签名 JAR 限制,并接受安全风险,您可以完成以下操作:
-
修改
java.security配置文件。或者,您可以保留此文件,并使用所需配置创建另一个文件。 -
从
jdk.certpath.disabledAlgorithms安全属性中删除SHA1 使用 SignedJAR & denyAfter 2019 01 011条目。 -
从
jdk.jar.disabledAlgorithms安全属性中删除SHA1 denyAfter 2019-01-01条目。
java.security 文件中的 jdk.certpath.disabledAlgorithms 的值可能会被 RHEL 8 和 9 上的系统安全策略覆盖。系统安全策略使用的值可在文件 /etc/crypto-policies/back-ends/java.config 中看到,并通过在 java.security 文件中将 security.useSystemPropertiesFile 设置为 false 来禁用,或者将 -Djava.security.disableSystemPropertiesFile=true 设置为 JVM。这些值不会在此发行版本中修改,因此对于以前的红帽构建的 OpenJDK 版本,这些值保持不变。
有关配置 java.security 文件的示例,请参阅 为 OpenShift (红帽客户门户网站)覆盖 JBoss EAP 的 java.security 属性。
请参阅 JDK-8269039 (JDK Bug System)。