Skip to content

Commit da394aa

Browse files
authored
Merge pull request #1531 from Sreekala-Gopakumar/1524PBKDF2
Add "-Djdk.nativePBKDF2=false" to control the behaviour of native PBKDF2
2 parents 1fbe270 + 552f984 commit da394aa

5 files changed

Lines changed: 99 additions & 1 deletion

File tree

docs/djdknativecrypto.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ OpenSSL support is enabled by default for the following algorithms:
4747
- GCM
4848
- MD5
4949
- PBE cipher
50+
- PBKDF2
5051
- RSA
5152
- SHA-224
5253
- SHA-256
@@ -77,6 +78,7 @@ If you want to turn off the algorithms individually, use the following system pr
7778
- [`-Djdk.nativeECKeyGen`](djdknativeeckeygen.md)
7879
- [`-Djdk.nativeGCM`](djdknativegcm.md)
7980
- [`-Djdk.nativePBE`](djdknativepbe.md)
81+
- [`-Djdk.nativePBKDF2`](djdknativepbkdf2.md)
8082
- [`-Djdk.nativeRSA`](djdknativersa.md)
8183
- ![Start of content that applies to Java 11 (LTS) and later](cr/java11plus.png) [`-Djdk.nativeXDHKeyAgreement`](djdknativexdhkeyagreement.md)
8284
- [`-Djdk.nativeXDHKeyGen`](djdknativexdhkeygen.md) ![End of content that applies to Java 11 (LTS) and later](cr/java_close_lts.png)

docs/djdknativepbkdf2.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<!--
2+
* Copyright (c) 2017, 2025 IBM Corp. and others
3+
*
4+
* This program and the accompanying materials are made
5+
* available under the terms of the Eclipse Public License 2.0
6+
* which accompanies this distribution and is available at
7+
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
8+
* License, Version 2.0 which accompanies this distribution and
9+
* is available at https://www.apache.org/licenses/LICENSE-2.0.
10+
*
11+
* This Source Code may also be made available under the
12+
* following Secondary Licenses when the conditions for such
13+
* availability set forth in the Eclipse Public License, v. 2.0
14+
* are satisfied: GNU General Public License, version 2 with
15+
* the GNU Classpath Exception [1] and GNU General Public
16+
* License, version 2 with the OpenJDK Assembly Exception [2].
17+
*
18+
* [1] https://www.gnu.org/software/classpath/license.html
19+
* [2] https://openjdk.org/legal/assembly-exception.html
20+
*
21+
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0
22+
-->
23+
24+
# -Djdk.nativePBKDF2
25+
26+
This option enables or disables OpenSSL native cryptographic support for the PBKDF2 (Password based key derivation) algorithm.
27+
28+
## Syntax
29+
30+
-Djdk.nativePBKDF2=[true|false]
31+
32+
33+
| Setting | value | Default |
34+
|-------------------|----------|:------------------------------------------------------------------------------:|
35+
| `-Djdk.nativePBKDF2` | true | :fontawesome-solid-check:{: .yes aria-hidden="true"}<span class="sr-only">yes</span> |
36+
| `-Djdk.nativePBKDF2` | false | |
37+
38+
## Explanation
39+
40+
OpenSSL support is enabled by default for the PBKDF2 algorithm. If you want to turn off support for this algorithm only, set this option to `false`. To turn off support for this and other algorithms, see the [`-Djdk.nativeCrypto`](djdknativecrypto.md) system property command line option.
41+
42+
## See also
43+
44+
- [What's new in version 0.53.0](version0.53.md#openssl-support-added-for-pbkdf2-algorithm)
45+
46+
<!-- ==== END OF TOPIC ==== djdknativepbkdf2.md ==== -->

docs/openssl.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
# OpenSSL
2525

26-
OpenJDK uses the in-built Java&trade; cryptographic implementation by default but Eclipse OpenJ9&trade; also provides some support for the OpenSSL cryptographic library. OpenSSL is an open source cryptographic toolkit for Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols, which is well established and used with many enterprise applications. Because it is a native library, OpenSSL might provide better performance. To use OpenSSL cryptographic acceleration, install OpenSSL 1.0.x, 1.1.x, or 3.x on your system. The OpenSSL V1.0.x, V1.1.x, and V3.x implementations are currently supported for the Digest, CBC, GCM, RSA, ECDH key agreement, PBE, and EC key generation algorithms. The OpenSSL V1.1.x and V3.x implementations are also supported for the ChaCha20 cipher, ChaCha20-Poly1305 cipher, and ECDSA signature algorithms. The OpenSSL V1.1.1 onwards implementations are supported for the XDH key agreement and XDH key generation algorithms.
26+
OpenJDK uses the in-built Java&trade; cryptographic implementation by default but Eclipse OpenJ9&trade; also provides some support for the OpenSSL cryptographic library. OpenSSL is an open source cryptographic toolkit for Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols, which is well established and used with many enterprise applications. Because it is a native library, OpenSSL might provide better performance. To use OpenSSL cryptographic acceleration, install OpenSSL 1.0.x, 1.1.x, or 3.x on your system. The OpenSSL V1.0.x, V1.1.x, and V3.x implementations are currently supported for the Digest, CBC, GCM, RSA, ECDH key agreement, PBE, PBKDF2, and EC key generation algorithms. The OpenSSL V1.1.x and V3.x implementations are also supported for the ChaCha20 cipher, ChaCha20-Poly1305 cipher, and ECDSA signature algorithms. The OpenSSL V1.1.1 onwards implementations are supported for the XDH key agreement and XDH key generation algorithms.
2727

2828
On Linux&reg; and AIX&reg; operating systems, the OpenSSL 1.0.x, 1.1.x, or 3.x library is expected to be found on the system path. If you use a package manager to install OpenSSL, the system path will be updated automatically. On Windows&trade; and MacOS&reg; the OpenSSL 3.x library is bundled. Later levels of some Linux operating systems also bundle OpenSSL 3.x.
2929

@@ -44,6 +44,7 @@ Each algorithm can be disabled individually by setting the following system prop
4444
- To turn off **EC key generation**, set [`-Djdk.nativeECKeyGen=false`](djdknativeeckeygen.md)
4545
- To turn off **GCM**, set [`-Djdk.nativeGCM=false`](djdknativegcm.md)
4646
- To turn of **PBE cipher**, set [`-Djdk.nativePBE=false`](djdknativepbe.md)
47+
- To turn off **PBKDF2** (Password based key derivation), set [`-Djdk.nativePBKDF2=false`](djdknativepbkdf2.md)
4748
- To turn off **RSA**, set [`-Djdk.nativeRSA=false`](djdknativersa.md)
4849
- ![Start of content that applies to Java 11 (LTS) and later](cr/java11plus.png) To turn off **XDH key agreement**, set [`-Djdk.nativeXDHKeyAgreement=false`](djdknativexdhkeyagreement.md)
4950
- To turn off **XDH key generation**, set [`-Djdk.nativeXDHKeyGen=false`](djdknativexdhkeygen.md) ![End of content that applies to Java 11 (LTS) and later](cr/java_close_lts.png)

docs/version0.53.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<!--
2+
* Copyright (c) 2017, 2025 IBM Corp. and others
3+
*
4+
* This program and the accompanying materials are made
5+
* available under the terms of the Eclipse Public License 2.0
6+
* which accompanies this distribution and is available at
7+
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
8+
* License, Version 2.0 which accompanies this distribution and
9+
* is available at https://www.apache.org/licenses/LICENSE-2.0.
10+
*
11+
* This Source Code may also be made available under the
12+
* following Secondary Licenses when the conditions for such
13+
* availability set forth in the Eclipse Public License, v. 2.0
14+
* are satisfied: GNU General Public License, version 2 with
15+
* the GNU Classpath Exception [1] and GNU General Public
16+
* License, version 2 with the OpenJDK Assembly Exception [2].
17+
*
18+
* [1] https://www.gnu.org/software/classpath/license.html
19+
* [2] https://openjdk.org/legal/assembly-exception.html
20+
*
21+
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0
22+
-->
23+
24+
# What's new in version 0.53.0
25+
26+
The following new features and notable changes since version 0.51.0 are included in this release:
27+
28+
- [New binaries and changes to supported environments](#binaries-and-supported-environments)
29+
- [OpenSSL support added for PBKDF2 algorithm](#openssl-support-added-for-pbkdf2-algorithm)
30+
31+
## Features and changes
32+
33+
### Binaries and supported environments
34+
35+
Eclipse OpenJ9&trade; release 0.53.0 supports OpenJDK 8, 11, 17, and 21.
36+
37+
To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see [Supported environments](openj9_support.md).
38+
39+
### OpenSSL support added for PBKDF2 algorithm
40+
41+
OpenSSL native cryptographic support is added for the Password based key derivation (PBKDF2) algorithm, providing improved cryptographic performance. OpenSSL support is enabled by default for the PBKDF2 algorithm. If you want to turn off support for the PBKDF2 algorithm, set the [`-Djdk.nativePBKDF2`](djdknativepbkdf2.md) system property to `false`.
42+
43+
## Known problems and full release information
44+
45+
To see known problems and a complete list of changes between Eclipse OpenJ9 v0.51.0 and v0.53.0 releases, see the [Release notes](https://github.com/eclipse-openj9/openj9/blob/master/doc/release-notes/0.53/0.53.md).
46+
47+
<!-- ==== END OF TOPIC ==== version0.53.md ==== -->

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ nav:
101101

102102
- "Release notes" :
103103
- "Overview" : openj9_releases.md
104+
- "Version 0.53.0" : version0.53.md
104105
- "Version 0.51.0" : version0.51.md
105106
- "Version 0.49.0" : version0.49.md
106107
- "Version 0.48.0" : version0.48.md
@@ -271,6 +272,7 @@ nav:
271272
- "-Djdk.nativeECKeyGen" : djdknativeeckeygen.md
272273
- "-Djdk.nativeGCM" : djdknativegcm.md
273274
- "-Djdk.nativePBE" : djdknativepbe.md
275+
- "-Djdk.nativePBKDF2" : djdknativepbkdf2.md
274276
- "-Djdk.nativeRSA" : djdknativersa.md
275277
- "-Djdk.nativeXDHKeyAgreement" : djdknativexdhkeyagreement.md
276278
- "-Djdk.nativeXDHKeyGen" : djdknativexdhkeygen.md

0 commit comments

Comments
 (0)