RELEASE NOTES FOR: 11.0.27 ==================================================================================================== Notes generated: Fri Apr 25 05:20:16 CEST 2025 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: security-libs/javax.net.ssl: 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 -keystore 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. tools/javac: JDK-8273914: Indy String Concat Changes Order of Operations String concatenation has been changed to evaluate each argument and eagerly convert it to a string, in left-to-right order. This fixes a bug in the invokedynamic-based string concatentation strategies introduced in [JEP 280](http://openjdk.java.net/jeps/280). For example, the following now prints `"foofoobar"`, not `"foobarfoobar"`: ``` StringBuilder builder = new StringBuilder("foo"); System.err.println("" + builder + builder.append("bar")); ``` security-libs/java.security: 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. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P4) JDK-8328242: Add a log area to the PassFailJFrame client-libs/java.awt: (P4) JDK-8195675: Call to insertText with single character from custom Input Method ignored (P4) JDK-8202926: Test java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html fails client-libs/javax.swing: (P2) JDK-8347427: JTabbedPane/8134116/Bug8134116.java has no license header core-libs: (P4) JDK-8336012: Fix usages of jtreg-reserved properties core-libs/java.nio: (P4) JDK-8327650: Test java/nio/channels/DatagramChannel/StressNativeSignal.java timed out core-libs/java.time: (P3) JDK-8347965: (tz) Update Timezone Data to 2025a (P4) JDK-8352097: (tz) zone.tab update missed in 2025a backport core-libs/java.util:i18n: (P4) JDK-8344589: Update IANA Language Subtag Registry to Version 2024-11-19 docs: (P4) JDK-8306408: Fix the format of several tables in building.md hotspot/compiler: (P3) JDK-8331863: DUIterator_Fast used before it is constructed hotspot/jfr: (P4) JDK-8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded" hotspot/runtime: (P3) JDK-8343599: Kmem limit and max values swapped when printing container information (P3) JDK-8340387: Update OS detection code to recognize Windows Server 2025 (P4) JDK-8268364: jmethod clearing should be done during unloading (P4) JDK-8312049: runtime/logging/ClassLoadUnloadTest can be improved hotspot/svc-agent: (P4) JDK-8294316: SA core file support is broken on macosx-x64 starting with macOS 12.x infrastructure/build: (P4) JDK-8343786: [11u] GHA: Bump macOS and Xcode versions to macos-13 and XCode 14.3.1 (P4) JDK-8349603: [21u, 17u, 11u] Update GHA JDKs after Jan/25 updates (P4) JDK-8341424: GHA: Collect hs_errs from build time failures (P4) JDK-8342704: GHA: Report truncation is broken after JDK-8341424 infrastructure/other: (P4) JDK-8343474: [updates] Customize README.md to specifics of update project infrastructure/release_eng: (P4) JDK-8354087: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.27 (P4) JDK-8345509: Bump update version of OpenJDK: 11.0.27 security-libs/java.security: (P3) JDK-8309841: Jarsigner should print a warning if an entry is removed security-libs/javax.net.ssl: (P3) JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs (P4) JDK-8339560: Unaddressed comments during code review of JDK-8337664 tools/jar: (P4) JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract (P4) JDK-8216539: tools/jar/modularJar/Basic.java timed out tools/javac: (P4) JDK-8273914: Indy string concat changes order of operations