第 2 章 Eclipse Temurin 功能
Eclipse Temurin 不包含来自 OpenJDK 上游发行版的结构更改。
有关 Eclipse Temurin 的最新 OpenJDK 11 发行版本的更改和安全修复列表,请参阅 OpenJDK 11.0.21 发行版本。
2.1. 新功能及功能增强
查看以下发行注记以了解 Eclipse Temurin 11.0.21 发行版本中包含的新功能和功能改进:
增加 TLS Diffie-Hellman 的默认组大小
在 OpenJDK 11.0.21 中,TLS 1.2 的 JDK 实现使用默认的 Diffie-Hellman 密钥大小为 2048 位。这会取代之前版本中的行为,其中默认的 Diffie-Hellman 密钥大小为 1024 位。
当 TLS_DHE
密码套件被协商且客户端或服务器不支持 Finite Field Diffie-Hellman Ephemeral (FFDHE)参数时,这个增强是相关的。JDK TLS 实现支持 FFDHE,它默认是启用的,并可协商更强大的密钥大小。
作为临时解决方案,您可以通过将 jdk.tls.ephemeralDHKeySize
系统属性设置为 1024
来恢复到以前的密钥大小。但是,为了降低风险,请考虑使用默认密钥 2048 位。
这个更改不会影响 TLS 1.3,它已使用了最小 Diffie-Hellman 密钥 2048 位。
请参阅 JDK-8301700 (JDK Bug System)。
默认使用的服务器端密码套件首选项
在 OpenJDK 11.0.21 中,SunJSSE 供应商默认使用本地服务器端密码套件首选项。这会取代服务器使用连接客户端所指定的首选项的早期版本中的行为。
您可以通过在服务器端使用 SSLParameters.setUseCipherSuitesOrder (false)
恢复到之前的行为。
请参阅 JDK-8168261 (JDK Bug System)。
支持 PKCS#1 格式的 RSA 密钥
JDK 供应商现在可以接受 PKCS#1 格式的 Rivest-Shamir-Adleman (RSA)私钥和公钥,如 RSA KeyFactory.impl
from the SunRsaSign 供应商。此功能要求 RSA 私钥或公钥对象具有 PKCS#1 格式,以及与 PKCS#1 RSA 私钥和公钥匹配的 ASN.1 语法的编码。
请参阅 JDK-8023980 (JDK Bug System)。
-XshowSettings:locale
选项的输出包括 tzdata
版本
在 OpenJDK 11.0.21 中,-XshowSettings
launcher 选项还会打印 JDK 使用的 tzdata
版本。tzdata
版本显示为 -XshowSettings:locale
选项的输出的一部分。
例如:
Locale settings: default locale = English default display locale = English default format locale = English tzdata version = 2023c
请参阅 JDK-8305950 (JDK Bug System)。
Certigna root CA 证书
在 OpenJDK 11.0.21 中,cacerts
truststore 包括以下 Certigna root 证书:
- 名称:Certigna (Dhimyotis)
- 别名名称:certignarootca
- 区分名称: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
请参阅 JDK-8314960 (JDK Bug System)。
如果默认 java.security
文件无法加载,则抛出错误
在以前的版本中,如果 java.security
文件无法成功加载,OpenJDK 会使用一组硬编码的安全属性。但是,这组属性不佳维护,JDK 使用这些工具的用户不明显。
要解决这个问题,如果 java.security
文件无法成功加载,OpenJDK 11.0.21 会抛出 InternalError
。
请参阅 JDK-8155246 (JDK Bug System)。
在几个 JAAS 回调类中克隆的数组
在以前的版本中,当数组传递给构造或返回时,在 ChoiceCallback
和 ConfirmationCallback
JAAS 类中,这些阵列不会被克隆。此行为允许外部程序访问这些类的内部字段。
在 OpenJDK 11.0.21 中,JAAS 类返回克隆的数组。