8375275: Error handling to raise illegal_parameter or internal_error alert in hybrid key exchange - #665
8375275: Error handling to raise illegal_parameter or internal_error alert in hybrid key exchange#665rm-gh-8 wants to merge 1 commit into
Conversation
|
👋 Welcome back rmesde! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
This backport pull request has now been updated with issue from the original commit. |
|
/approval request for backport of JDK-8375275: Error handling to raise illegal_parameter or internal_error alert in hybrid key exchange. This PR maps KEM/DH exceptions to proper TLS fatal alerts (ILLEGAL_PARAMETER vs INTERNAL_ERROR), and adds an all-zero shared secret check for X25519/X448 in DHasKEM. Please note that there is an issue with the all-zero check (dead code) that will be resolved in a dependent backport of JDK-8386600. For parity with Oracle JDK. Low Risk — the changes only affect error-handling paths during key exchange failures, so normal successful TLS handshakes are unaffected. |
Backporting JDK-8375275: Error handling to raise illegal_parameter or internal_error alert in hybrid key exchange.
This PR maps KEM/DH exceptions to proper TLS fatal alerts (ILLEGAL_PARAMETER vs INTERNAL_ERROR), and adds an all-zero shared secret check for X25519/X448 in DHasKEM.
Please note that there is an issue with the all-zero check (dead code) that will be resolved in a dependent backport of JDK-8386600.
For parity with Oracle JDK.
Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64:
make test TEST=test/jdk/javax/net/ssl
make test TEST=test/jdk/sun/security
Results:
windows-x64-specific-test.log
windows-x64-specific-2-test.log
macos-aarch64-specific-test.log
macos-aarch64-specific-2-test.log
linux-x64-specific-test.log
linux-x64-specific-2-test.log
linux-aarch64-specific-test.log
linux-aarch64-specific-2-test.log
Progress
Integration blocker
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/665/head:pull/665$ git checkout pull/665Update a local copy of the PR:
$ git checkout pull/665$ git pull https://git.openjdk.org/jdk25u-dev.git pull/665/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 665View PR using the GUI difftool:
$ git pr show -t 665Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/665.diff
Using Webrev
Link to Webrev Comment