RELEASE NOTES: JDK openjdk8u452

Notes generated: Wed Apr 16 05:04:54 CEST 2025

JEPs

None.

RELEASE NOTES

security-libs/javax.net.ssl

Issue Description
JDK-8346587

Distrust TLS Server Certificates Anchored by Camerfirma Root Certificates and Issued After April 15, 2025


The JDK will stop trusting TLS server certificates issued after April 15, 2025 and anchored by Camerfirma root certificates, in line with similar plans announced by Google, Mozilla, Apple, and Microsoft.

TLS server certificates issued on or before April 15, 2025 will continue to be trusted until they expire. Certificates issued after that date, and anchored by any of the Certificate Authorities in the table below, will be rejected.

The restrictions are enforced in the JDK implementation (the SunJSSE Provider) of the Java Secure Socket Extension (JSSE) API. A TLS session will not be negotiated if the server's certificate chain is anchored by any of the Certificate Authorities in the table below and the certificate has been issued after April 15, 2025.

An application will receive an exception with a message indicating the trust anchor is not trusted, for example:

` "TLS Server certificate issued after 2025-04-15 and anchored by a distrusted legacy Camerfirma root CA: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU" `

The JDK can be configured to trust these certificates again by removing "CAMERFIRMA_TLS" from the jdk.security.caDistrustPolicies security property in the java.security configuration file.

The restrictions are imposed on the following Camerfirma Root certificates included in the JDK:

Root Certificates distrusted after 2025-04-15
Distinguished Name SHA-256 Fingerprint
CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU

0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3

CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU

06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0

CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU

13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA

You can also use the keytool utility from the JDK to print out details of the certificate chain, as follows:

keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>

If any of the certificates in the chain are issued by one of the root CAs in the table above are listed in the output you will need to update the certificate or contact the organization that manages the server.


security-libs/java.security

Issue Description
JDK-8309841

Jarsigner Should Print a Warning If an Entry Is Removed


If an entry is removed from a signed JAR file, there is no mechanism to detect that it has been removed using the JarFile API, since the getJarEntry method returns null as if the entry had never existed. With this change, the jarsigner -verify command analyzes the signature files and if some sections do not have matching file entries, it prints out the following warning: "This JAR contains signed entries for files that do not exist". Users can further find out the names of these entries by adding the -verbose option to the command.


core-libs/java.time

Issue Description
JDK-8339637

Support for Time Zone Database 2024b


IANA Time Zone Database has been upgraded to 2024b. This version mainly includes changes to improve historical data for Mexico, Mongolia, and Portugal. It also changes one timestamp abbreviation, for the time zone 'MET'. Also Asia/Choibalsan is now an alias for Asia/Ulaanbaatar.

The new tzdata changes also impact some legacy zone IDs. Mapping of EST/MST/HST in java.time.ZoneId.SHORT_IDS have changed from fixed offset zones to links to other existing time zones with 2024b. "EST" now links to "America/Panama", "HST" links to "Pacific/Honolulu" and "MST" links to "America/Phoenix". Parsing of the short zone names "EST", "MST", and "HST" is not affected by this change. Further details are available at JDK-8340138


Support for Time Zone Database 2024b


IANA Time Zone Database has been upgraded to 2024b. This version mainly includes changes to improve historical data for Mexico, Mongolia, and Portugal. It also changes one timestamp abbreviation, for the time zone 'MET'. Also Asia/Choibalsan is now an alias for Asia/Ulaanbaatar.

The new tzdata changes also impact some legacy time zone IDs. As per 2024b changes "EST" links to "America/Panama", "HST" links to "Pacific/Honolulu" and "MST" links to "America/Phoenix". To maintain compatibility with the Java SE specification, the java.time.ZoneId.SHORT_IDS Map has not changed. Further details are available at JDK-8342331


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P4 JDK-8326110 [8u] The Marlin tests should be updated after JDK-8241307

client-libs/java.awt

Priority Bug Summary
P4 JDK-8068305 [TEST_BUG] Test java/awt/Mixing/HWDisappear.java fails with GTKL&F

core-libs/java.lang

Priority Bug Summary
P3 JDK-8265019 Update tests for additional TestNG test permissions

core-libs/java.time

Priority Bug Summary
P3 JDK-8339637 (tz) Update Timezone Data to 2024b
P3 JDK-8347965 (tz) Update Timezone Data to 2025a
P4 JDK-8352097 (tz) zone.tab update missed in 2025a backport
P4 JDK-8350816 [8u] Update TzdbZoneRulesCompiler to ignore HST/EST/MST links
P4 JDK-8339644 Improve parsing of Day/Month in tzdata rules

core-libs/java.util.jar

Priority Bug Summary
P4 JDK-8240235 jdk.test.lib.util.JarUtils updates jar files incorrectly

core-libs/java.util:i18n

Priority Bug Summary
P2 JDK-8353433 XCG currency code not recognized in JDK 8u

core-svc/debugger

Priority Bug Summary
P4 JDK-8340660 [8u] Test com/sun/jdi/PrivateTransportTest.sh fails on MacOS

core-svc/javax.management

Priority Bug Summary
P4 JDK-8348211 [8u] sun/management/jmxremote/startstop/JMXStartStopTest.java fails after backport of JDK-8066708

hotspot/compiler

Priority Bug Summary
P3 JDK-8255466 C2 crashes at ciObject::get_oop() const+0x0
P3 JDK-8250825 C2 crashes with assert(field != __null) failed: missing field
P4 JDK-8349166 Bad indentation in backport of JDK-8250825

hotspot/jfr

Priority Bug Summary
P4 JDK-8316193 jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak
P4 JDK-8261020 Wrong format parameter in create_emergency_chunk_path

infrastructure/build

Priority Bug Summary
P5 JDK-8244966 Add .vscode to .hgignore and .gitignore
P5 JDK-8340552 Harden TzdbZoneRulesCompiler against missing zone names

infrastructure/release_eng

Priority Bug Summary
P4 JDK-8345504 Bump update version of OpenJDK: 8u452

security-libs/java.security

Priority Bug Summary
P3 JDK-8309841 Jarsigner should print a warning if an entry is removed

security-libs/javax.net.ssl

Priority Bug Summary
P3 JDK-8346587 Distrust TLS server certificates anchored by Camerfirma Root CAs
P3 JDK-8212096 javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
P3 JDK-8227651 Tests fail with SSLProtocolException: Input record too big
P4 JDK-8266881 Enable debug log for SSLEngineExplorerMatchedSNI.java
P4 JDK-8339560 Unaddressed comments during code review of JDK-8337664

tools/jar

Priority Bug Summary
P4 JDK-8339810 Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract
P5 JDK-8346140 [8u] tools/jar/ExtractFilesTest.java and tools/jar/MultipleManifestTest.java fails with jtreg5.1

tools/javac

Priority Bug Summary
P3 JDK-8285756 clean up use of bad arguments for `@clean` in langtools tests

xml

Priority Bug Summary
P4 JDK-8268457 XML Transformer outputs Unicode supplementary character incorrectly to HTML