Version 11.0.22.0

The new features and functions available with this release are listed here.

This refresh contains the latest IBM® fixes, the most recent OpenJDK level, and the following new features.

OpenJ9 features
This release contains features from the latest release of the Eclipse OpenJ9 project, as listed in the Version 0.42 and Version 0.43 OpenJ9 user documentation.
Other features
This release contains the following new features.
Quantum-safe cryptography support
The IBMJCECCA security provider is enhanced to support quantum-safe cryptography (QSC). The new service is based on ICSF's quantum-safe cryptographic capabilities. For more information about ICSF's QSC features and capabilities, see Quantum-safe cryptography. To use the cryptographic feature, you need an IBM z16 with Crypto Express cards version 8 (CEX8) or later.

IBMJCECCA supports 2 quantum-safe algorithms (QSA):

  • CRYSTALS-Kyber key encapsulation mechanism
  • CRYSTALS-Dilithium Digital Signature Algorithm
IBMJCECCA provider package includes the following items:
  • An implementation of the CRYSTALS-Kyber 1024 Round 2 CRYSTALS-Kyber algorithm.
  • An implementation of the following CRYSTALS-Dilithium algorithms.
    • CRYSTALS-Dilithium 6, 5 Round 2
    • CRYSTALS-Dilithium 8, 7 Round 2
    • CRYSTALS-Dilithium 6, 5 Round 3
    • CRYSTALS-Dilithium 8, 7 Round 3
Other OpenJ9 features
Change in behavior of the -Djava.security.manager system property

From OpenJDK version 18 onwards, if you enable the SecurityManager at runtime by calling the System.setSecurityManager() API, you must set the -Djava.security.manager=allow option. To disable the SecurityManager, you must specify the -Djava.security.manager=disallow option. If an application is designed to run on multiple OpenJDK versions, the same command line might be used across multiple versions. Because of this use of the same command line across multiple versions, in OpenJDK versions before version 18, the runtime attempts to load a SecurityManager with the class name allow or disallow. This scenario resulted in an error and the application was not starting.

To overcome the issue, from this release, OpenJDK version 11 ignores the allow and disallow keywords, if specified.