RFR: 8331008: Implement JEP 478: Key Derivation Function API (Preview) [v20]
Kevin Driver
kdriver at openjdk.org
Fri Aug 30 21:48:21 UTC 2024
On Thu, 29 Aug 2024 00:45:30 GMT, Weijun Wang <weijun at openjdk.org> wrote:
>> Kevin Driver has updated the pull request incrementally with one additional commit since the last revision:
>>
>> review comments
>
> src/java.base/share/classes/javax/crypto/spec/HKDFParameterSpec.java line 163:
>
>> 161: *
>> 162: * @implNote An implementation should concatenate the input keying
>> 163: * materials into a single value once all components are available.
>
> I'm not sure what "once all components are available" means. Technically, it's "...into a single value and pass it to the HKDF-Extract step".
>
> Also, this method is for end users. The `@implNote` should be added to `ikms` which is called by an implementation. There you can tell the implementation to do the concatenation.
Addressed in https://github.com/openjdk/jdk/pull/20301/commits/e4400b6edaf69d08726a63e2a705784c731648db. Please confirm if resolved.
> src/java.base/share/classes/javax/crypto/spec/HKDFParameterSpec.java line 322:
>
>> 320: * Returns an unmodifiable {@code List} of input keying material values
>> 321: * in the order they were added. Returns an empty list if there are no
>> 322: * input keying material values.
>
> Sean asked about where do the byte array IKMs go. Here you should mention that an IKM added by `{@link #addIKM(byte[])}` is converted to a `SecretKeySpec` object. Same for `salts`. Same as in `ExtractThenExpand`.
Addressed in https://github.com/openjdk/jdk/pull/20301/commits/e4400b6edaf69d08726a63e2a705784c731648db. Please confirm if resolved.
> src/java.base/share/classes/javax/crypto/spec/HKDFParameterSpec.java line 431:
>
>> 429: * modification
>> 430: * @param length
>> 431: * the length of the output keying material (must be > 0 and < 255 *
>
> Maybe you don't need to talk about the length restriction here. The rule is at input.
Addressed in https://github.com/openjdk/jdk/pull/20301/commits/e4400b6edaf69d08726a63e2a705784c731648db. Please confirm if resolved.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1739436294
PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1739436470
PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1739436411
More information about the security-dev
mailing list