第 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 的限制,并接受安全风险,您可以完成以下操作:

  1. 修改 java.security 配置文件。或者,您可以保留此文件,而是使用所需配置创建另一个文件。
  2. jdk.certpath.disabledAlgorithms 安全属性中删除 SHA1 使用 SignedJAR 和 denyAfter 01 011 条目。
  3. 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