第 2 章 Eclipse Temurin 功能
Eclipse Temurin 不包含 OpenJDK 上游发行版本中的结构化更改。
有关 Eclipse Temurin 的最新 OpenJDK 8 发行版本中的更改和安全修复列表,请参阅 OpenJDK 8u362 Released。
新功能及功能增强
请参阅以下发行注记以了解 Eclipse Temurin 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)。
改进了声音的银行
在以前的版本中,Sound bankReader 实施,com.sun.media.sound.JARSoundbankReader 从 URL 下载 JAR soundbank。对于 OpenJDK 8.0.362,这个行为现在默认禁用。要重新启用此行为,请将新的系统属性 jdk.sound.jarsoundbank 设置为 true。
请参阅 JDK-8293742 (JDK Bug System)。
OpenJDK 支持 Microsoft Windows 11
OpenJDK 8.0.362 现在可以识别 Microsoft Windows 11 操作系统,并可将 os.name 属性设置为 Windows 11。
请参阅 JDK-8274840 (JDK Bug System)。
SHA-1 签名 JAR
随着 OpenJDK 8.0.362 发行版本,使用 SHA-1 算法签名的 JAR 会被默认限制,并被视为未签名。这些限制适用于以下算法:
- 用于摘要、签名和可选时间戳的算法。
- 在代码签名者和 Timestamp 颁发机构的证书链中的证书签名和摘要算法,以及任何证书撤销列表(CRL)或在线证书状态协议(OCSP)响应,以验证这些证书是否已撤销。
此外,限制也适用于签名的 Java Cryptography 扩展(JCE)供应商。
为降低之前时间戳的 JAR 的兼容性风险,限制不适用于 2019 年 1 月 01 之前使用 SHA-1 算法签名和时间戳的任何 JAR。在以后的 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 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 文件的示例,请参阅 覆盖 JBoss EAP for OpenShift 的 java.security 属性 (红帽客户门户网站)。
请参阅 JDK-8269039 (JDK Bug System)。
更新于 2023-04-06