在 Java 14 中,缺省情况下,TLS、CertPath 和 Signed Jar 禁用了弱命名曲线。在 Java 15 中,缺省情况下在本机 SunEC 实现中禁用了弱命名曲线。在 Java 16 中移除了弱命名曲线的实现。
已移除以下曲线:
secp112r1、secp112r2、secp128r1、secp128r2、secp160k1、secp160r1、secp160r2、secp192k1、secp192r1、secp224k1、
secp224r1、secp256k1、sect113r1、sect113r2、sect131r1、sect131r2、sect163k1、sect163r1、sect163r2、sect193r1、sect193r2、
sect233k1、sect233r1、sect239k1、sect283k1、sect283r1、sect409k1、sect409r1、sect571k1、sect571r1、X9.62 c2tnb191v1、
X9.62 c2tnb191v2、X9.62 c2tnb191v3、X9.62 c2tnb239v1、X9.62 c2tnb239v2、X9.62 c2tnb239v3、X9.62 c2tnb359v1、X9.62 c2tnb431r1、
X9.62 prime192v2、X9.62 prime192v3、X9.62 prime239v1、X9.62 prime239v2、X9.62 prime239v3、brainpoolP256r1、brainpoolP320r1、
brainpoolP384r1、brainpoolP512r1
将不再使用这些曲线,但如果应用程序需要这些曲线,那么必须使用第三方替代方法。
有关这些更改的更多信息,请参阅 Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default、 Disabled Native SunEC Implementation by Default 和 Removal of Legacy Elliptic Curves。