jdk icon indicating copy to clipboard operation
jdk copied to clipboard

8331008: Implement JEP 478: Key Derivation Function API (Preview)

Open driverkt opened this issue 1 year ago • 26 comments

Introduce an API for Key Derivation Functions (KDFs), which are cryptographic algorithms for deriving additional keys from a secret key and other data. See JEP 478.

Work was begun in another PR.


Progress

  • [x] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • [ ] Change requires CSR request JDK-8331009 to be approved
  • [x] Change must not contain extraneous whitespace
  • [x] Commit message must refer to an issue
  • [ ] Change requires a JEP request to be targeted

Issues

  • JDK-8331008: Implement JEP 478: Key Derivation Function API (Preview) (Enhancement - P3)
  • JDK-8189808: JEP 478: Key Derivation Function API (Preview) (JEP)
  • JDK-8331009: Implement JEP 478: Key Derivation Function API (Preview) (CSR)

Reviewers

Contributors

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/20301/head:pull/20301
$ git checkout pull/20301

Update a local copy of the PR:
$ git checkout pull/20301
$ git pull https://git.openjdk.org/jdk.git pull/20301/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 20301

View PR using the GUI difftool:
$ git pr show -t 20301

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/20301.diff

Webrev

Link to Webrev Comment

driverkt avatar Jul 23 '24 16:07 driverkt

:wave: Welcome back kdriver! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

bridgekeeper[bot] avatar Jul 23 '24 16:07 bridgekeeper[bot]

@driverkt This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8331008: Implement JEP 478: Key Derivation Function API (Preview)

Co-authored-by: Rajan Halade <[email protected]>
Co-authored-by: Weijun Wang <[email protected]>
Co-authored-by: Valerie Peng <[email protected]>
Reviewed-by: weijun, valeriep

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 735 new commits pushed to the master branch:

  • 847cc5ebac43b83746d8f238c5f9ecf2972a2796: 8343173: Remove ZGC-specific non-JVMCI test groups
  • 3fab8e37bbebbb3930108b2015efe488b1fa1e97: 8341903: Implementation of Scoped Values (Fourth Preview)
  • 839de82c314697d7461b77caa9d85407e3578de3: 8332744: [REDO] 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version
  • 8cb122119409fb13b4b9b2e74851207734d5c198: 8343532: Test test/hotspot/jtreg/runtime/cds/appcds/jigsaw/addmods/AddmodsOption.java fails on Linux ppc64le after JDK-8319343
  • fbf9b96b6103250a2f72c3cbc47d73e9ddea6dbd: 8343480: Remove unnecessary @SuppressWarnings annotations (javadoc)
  • f95097cc64f1d7647f8328b623e9bd9f1180b6d8: 8343482: Remove unnecessary @SuppressWarnings annotations (net)
  • c799cad1de93aadfe60d9cbccb0499d7299f0598: 8343486: Remove unnecessary @SuppressWarnings annotations and -Xlint:-foo options
  • 0b733e9a22fd786f3fd133faae3b00d31258e755: 8336874: WhiteBoxAPI: assert(!method->is_abstract() && (osr_bci == InvocationEntryBci || !method->is_native())) failed: cannot compile abstract/native methods
  • 5890d9438bbde88b89070052926a2eafe13d7b42: 8333893: Optimization for StringBuilder append boolean & null
  • c33a8f52b613e5eff02f572eda876cbbfc7c22cf: 8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file
  • ... and 725 more: https://git.openjdk.org/jdk/compare/996790c70f902d7840d0649a6b0867bed47c6537...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

openjdk[bot] avatar Jul 23 '24 16:07 openjdk[bot]

@driverkt The following labels will be automatically applied to this pull request:

  • compiler
  • core-libs
  • security

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.

openjdk[bot] avatar Jul 23 '24 16:07 openjdk[bot]

Webrevs

mlbridge[bot] avatar Jul 23 '24 16:07 mlbridge[bot]

@driverkt Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

openjdk[bot] avatar Jul 23 '24 16:07 openjdk[bot]

@driverkt Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

openjdk[bot] avatar Jul 23 '24 17:07 openjdk[bot]

/jep JEP-478

driverkt avatar Jul 23 '24 17:07 driverkt

@driverkt This pull request will not be integrated until the JEP-478 has been targeted.

openjdk[bot] avatar Jul 23 '24 17:07 openjdk[bot]

/help

driverkt avatar Jul 23 '24 17:07 driverkt

@driverkt Available commands:

  • approval - request for maintainer's approval
  • approve - null
  • author - sets an overriding author to be used in the commit when the PR is integrated
  • backport - create a backport
  • cc - add or remove an additional classification label
  • clean - Mark the backport pull request as a clean backport
  • contributor - adds or removes additional contributors for a PR
  • covered - used when employer has signed the OCA
  • csr - require a compatibility and specification request (CSR) for this pull request
  • help - shows this text
  • integrate - performs integration of the changes in the PR
  • issue - edit the list of issues that this PR solves
  • jep - require a JDK Enhancement Proposal (JEP) for this pull request
  • label - add or remove an additional classification label
  • open - Set the pull request state to "open"
  • reviewer - manage additional reviewers for a PR
  • reviewers - set the number of additional required reviewers for this PR
  • signed - used after signing the OCA
  • solves - edit the list of issues that this PR solves
  • sponsor - performs integration of a PR that is authored by a non-committer
  • summary - updates the summary in the commit message
  • test - used to run tests

openjdk[bot] avatar Jul 23 '24 17:07 openjdk[bot]

/csr 8331009

driverkt avatar Jul 23 '24 17:07 driverkt

@driverkt usage: /csr [needed|unneeded], requires that the issue the pull request refers to links to an approved CSR request.

openjdk[bot] avatar Jul 23 '24 17:07 openjdk[bot]

/label remove core-libs

AlanBateman avatar Jul 24 '24 06:07 AlanBateman

@AlanBateman The core-libs label was successfully removed.

openjdk[bot] avatar Jul 24 '24 06:07 openjdk[bot]

/label remove compiler

AlanBateman avatar Jul 24 '24 06:07 AlanBateman

@AlanBateman The compiler label was successfully removed.

openjdk[bot] avatar Jul 24 '24 06:07 openjdk[bot]

@driverkt Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

openjdk[bot] avatar Jul 24 '24 16:07 openjdk[bot]

@driverkt Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

openjdk[bot] avatar Jul 26 '24 19:07 openjdk[bot]

@seanjmullan all comments are resolved in the latest commit: https://github.com/openjdk/jdk/pull/20301/commits/442d1e95cad4da9a97b41cfdde1509f50b2b6cc4

driverkt avatar Jul 30 '24 16:07 driverkt

@wangweij: Commit https://github.com/openjdk/jdk/pull/20301/commits/30dd26e2382486b6aaec6fd0798aa77c934fcb7a contains the synchronized block refactor as well as changes to address your other code review comments, except where I replied or asked a follow-up.

driverkt avatar Aug 01 '24 20:08 driverkt

/contributor add rhalade

driverkt avatar Oct 11 '24 13:10 driverkt

@driverkt Contributor Rajan Halade <[email protected]> successfully added.

openjdk[bot] avatar Oct 11 '24 13:10 openjdk[bot]

/contributor add @wangweij

driverkt avatar Oct 16 '24 21:10 driverkt

/contributor add @valeriepeng

driverkt avatar Oct 16 '24 21:10 driverkt

@driverkt Contributor Weijun Wang <[email protected]> successfully added.

openjdk[bot] avatar Oct 16 '24 21:10 openjdk[bot]

@driverkt Contributor Valerie Peng <[email protected]> successfully added.

openjdk[bot] avatar Oct 16 '24 21:10 openjdk[bot]

/integrate

driverkt avatar Nov 05 '24 21:11 driverkt

Going to push as commit 2a1ae0ff89a8ac364206b09059d9dc884adcc5ac. Since your change was applied there have been 735 commits pushed to the master branch:

  • 847cc5ebac43b83746d8f238c5f9ecf2972a2796: 8343173: Remove ZGC-specific non-JVMCI test groups
  • 3fab8e37bbebbb3930108b2015efe488b1fa1e97: 8341903: Implementation of Scoped Values (Fourth Preview)
  • 839de82c314697d7461b77caa9d85407e3578de3: 8332744: [REDO] 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version
  • 8cb122119409fb13b4b9b2e74851207734d5c198: 8343532: Test test/hotspot/jtreg/runtime/cds/appcds/jigsaw/addmods/AddmodsOption.java fails on Linux ppc64le after JDK-8319343
  • fbf9b96b6103250a2f72c3cbc47d73e9ddea6dbd: 8343480: Remove unnecessary @SuppressWarnings annotations (javadoc)
  • f95097cc64f1d7647f8328b623e9bd9f1180b6d8: 8343482: Remove unnecessary @SuppressWarnings annotations (net)
  • c799cad1de93aadfe60d9cbccb0499d7299f0598: 8343486: Remove unnecessary @SuppressWarnings annotations and -Xlint:-foo options
  • 0b733e9a22fd786f3fd133faae3b00d31258e755: 8336874: WhiteBoxAPI: assert(!method->is_abstract() && (osr_bci == InvocationEntryBci || !method->is_native())) failed: cannot compile abstract/native methods
  • 5890d9438bbde88b89070052926a2eafe13d7b42: 8333893: Optimization for StringBuilder append boolean & null
  • c33a8f52b613e5eff02f572eda876cbbfc7c22cf: 8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file
  • ... and 725 more: https://git.openjdk.org/jdk/compare/996790c70f902d7840d0649a6b0867bed47c6537...master

Your commit was automatically rebased without conflicts.

openjdk[bot] avatar Nov 05 '24 21:11 openjdk[bot]

@driverkt Pushed as commit 2a1ae0ff89a8ac364206b09059d9dc884adcc5ac.

:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

openjdk[bot] avatar Nov 05 '24 21:11 openjdk[bot]