Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added updates for OpenSSL v3 support #929

Merged
merged 4 commits into from
Apr 27, 2022

Conversation

Sreekala-Gopakumar
Copy link
Contributor

#924

Added support for Open SSL 3.0.x (Linux only)
Updated content to mention that OpenSSL 3.0.x is supported for the same algorithms as 1.1.x.
Updated that in case of multiple versions of OpenSSL on the system, the OpenJ9 VM uses the latest version.
Added a note that that OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16Bytes for the GCM algorithm.

[skip ci]

Signed-off-by: Sreekala Gopakumar [email protected]

eclipse-openj9#924

Added support for Open SSL 3.0.x (Linux only)
Updated content to mention that OpenSSL 3.0.x is supported for the same algorithms as 1.1.x.
Updated that in case of multiple versions of OpenSSL on the system, the OpenJ9 VM uses the latest version.
Added a note that that OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16Bytes for the GCM algorithm.

[skip ci]

Signed-off-by: Sreekala Gopakumar [email protected]
@doveye
Copy link
Contributor

doveye commented Apr 26, 2022

Jenkins doc stage

@doveye
Copy link
Contributor

doveye commented Apr 26, 2022

Jenkins doc stage

@@ -58,6 +59,12 @@ For compatibility, the following OpenJDK HotSpot options are now supported by Op

You can now use the `SharedClassStatistics` API to get the name, path, and directory of a shared classes cache. Depending on the operating system, you can also get the number of attached VMs for a non-persistent cache. This information is available through the following new methods: `cacheDir()`, `cacheName()`, `cachePath()`, and `numberAttached()`. For more information, see the API documentation.

### Support for OpenSSL 3.0.x

OpenSSL 3.0.x is supported but on Linux only. OpenSSL is enabled by default for the CBC, ChaCha20, ChaCha20-Poly1305Digest, GCM, and RSA cryptographic algorithms.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could use a link to the detailed info on OpenSSL too, eg "For more information about OpenSSL support, see Cryptographic operations".

docs/builds.md Outdated
@@ -41,7 +41,8 @@ If you want to build your own binaries of OpenJDK with OpenJ9, a complete set of

Note the following:

- For the best performance, OpenSSL support should be enabled in the build. In builds that aren't configured with `--enable-openssl-bundling`, the OpenSSL library is expected to be found on the system path. If you want to use OpenSSL cryptographic acceleration, you must install OpenSSL 1.0.2 or 1.1.X on your system. If the library is not found on the system path, the in-built Java crytographic implementation is used instead, which performs less well.
- For the best performance, OpenSSL support should be enabled in the build. In builds that aren't configured with `--enable-openssl-bundling`, the OpenSSL library is expected to be found on the system path. If you want to use OpenSSL cryptographic acceleration, you must install OpenSSL 1.0.2 or 1.1.X on your system. If the library is not found on the system path, the in-built Java crytographic implementation is used instead, which performs less well. On Linux platform, OpenSSL 3.0.x is supported.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"On Linux platform" -> platforms

docs/builds.md Outdated
@@ -41,7 +41,8 @@ If you want to build your own binaries of OpenJDK with OpenJ9, a complete set of

Note the following:

- For the best performance, OpenSSL support should be enabled in the build. In builds that aren't configured with `--enable-openssl-bundling`, the OpenSSL library is expected to be found on the system path. If you want to use OpenSSL cryptographic acceleration, you must install OpenSSL 1.0.2 or 1.1.X on your system. If the library is not found on the system path, the in-built Java crytographic implementation is used instead, which performs less well.
- For the best performance, OpenSSL support should be enabled in the build. In builds that aren't configured with `--enable-openssl-bundling`, the OpenSSL library is expected to be found on the system path. If you want to use OpenSSL cryptographic acceleration, you must install OpenSSL 1.0.2 or 1.1.X on your system. If the library is not found on the system path, the in-built Java crytographic implementation is used instead, which performs less well. On Linux platform, OpenSSL 3.0.x is supported.
Note that OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16 Bytes for the GCM algorithm. (In earlier OpenSSL versions, you can use such sizes but they might cause unpredictable behavior.) If you need to use a larger size, disable OpenSSL support for the GCM algorithm.
Copy link
Member

@pshipton pshipton Apr 26, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should refer to the option that does this (disable OpenSSL support for the GCM algorithm).

@@ -86,6 +86,12 @@ Secure Sockets Layer (SSL) protocols, which is well established and used with ma

On Linux and AIX platforms, the OpenSSL 1.0.x or 1.1.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 other platforms, the OpenSSL 1.1.x library is typically bundled.

If you have multiple versions of OpenSSL on your system, the OpenJ9 VM uses the latest version.

On Linux platform, OpenSSL 3.0.x library is supported.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

platforms


On Linux platform, OpenSSL 3.0.x library is supported.

:fontawesome-solid-pencil-alt:{: .note aria-hidden="true"} **Note:** OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16 Bytes for the GCM algorithm. (In earlier OpenSSL versions, you can use such sizes but they might cause unpredictable behavior.) If you need to use a larger size, disable OpenSSL support for the GCM algorithm.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should refer to the option that does this.

@@ -67,7 +67,7 @@ If a JITServer server crashes, the client is forced to perform compilations loca

## Security

You can encrypt network communication between the client VM and JITServer by using OpenSSL 1.0.x or 1.1.x. To enable encryption, you specify the private key and the certificate at the server and use the certificate at the client. For more information, see [-XX:JITServerSSLCert / -XX:JITServerSSLKey / -XX:JITServerSSLRootCerts](xxjitserversslcert.md).
You can encrypt network communication between the client VM and JITServer by using OpenSSL 1.0.x, 1.1.x or 3.0.x. To enable encryption, you specify the private key and the certificate at the server and use the certificate at the client. For more information, see [-XX:JITServerSSLCert / -XX:JITServerSSLKey / -XX:JITServerSSLRootCerts](xxjitserversslcert.md).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know that JITserver was updated to support openssl 3. @mpirvu ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we haven't done anything in that area. I'll test it and get someone to implement support for openssl 3

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. So it sounds like we should change jitserver.md and xxjitserversslcert.md to say that jitserver doesn't support OpenSSL 3.0.x, and change version0.32.md to say that OpenSSL support is added but only on Linux and not for JITServer.
@mpirvu can you please create a docs issue for changing this text in future when JITServer does support OpenSSL 3.


OpenSSL 3.0.x is supported but on Linux only. OpenSSL is enabled by default for the CBC, ChaCha20, ChaCha20-Poly1305Digest, GCM, and RSA cryptographic algorithms.

:fontawesome-solid-pencil-alt:{: .note aria-hidden="true"} **Note:** OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16 Bytes for the GCM algorithm. (In earlier OpenSSL versions, you can use such sizes but they might cause unpredictable behavior.) If you need to use a larger size, disable OpenSSL support for the GCM algorithm.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should refer to the option that does this.

eclipse-openj9#924

Added support for Open SSL 3.0.x (Linux only)
Updated content to mention that OpenSSL 3.0.x is supported for the same algorithms as 1.1.x.
Updated that in case of multiple versions of OpenSSL on the system, the OpenJ9 VM uses the latest version.
Added a note that that OpenSSL 3.0.x does not support initialization vector (IV) sizes above 16Bytes for the GCM algorithm.

[skip ci]

Signed-off-by: Sreekala Gopakumar [email protected]
@doveye
Copy link
Contributor

doveye commented Apr 27, 2022

Jenkins doc stage

@doveye
Copy link
Contributor

doveye commented Apr 27, 2022

We tried to squash commits but we can't due to merge commits. "Jenkins doc stage" isn't triggering a build so we can't view the updates in the staging doc either.

@doveye doveye merged commit 724e3e5 into eclipse-openj9:master Apr 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants