On Fri, 16 Aug 2024 21:13:34 GMT, Kevin Driver <kdri...@openjdk.org> wrote:

>> src/java.base/share/classes/com/sun/crypto/provider/HkdfKeyDerivation.java 
>> line 338:
>> 
>>> 336:         // Calculate the number of rounds of HMAC that are needed to
>>> 337:         // meet the requested data.  Then set up the buffers we will 
>>> need.
>>> 338:         hmacObj.init(prk);
>> 
>> RFC5869 sec 2.3 states that "PRK - a pseudorandom key of at least HashLen 
>> octets". Shouldn't we check it before passing to to `hmacObj`?
>
> Addressed in 
> https://github.com/openjdk/jdk/pull/20301/commits/c6f491cd05c76088e6431b2ba9d4ab42b29e4055.
>  Please indicate if this is resolved.

Well, if a non-extractrable hardware key is passed to us, it'd lead to NPE with 
the new check. Instead of calling getEncoded() on it and access  length 
directly, maybe relying on `CipherCore.getKeyBytes(prk)` which will throw 
InvalidKeyException?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20301#discussion_r1724125391

Reply via email to