RFR: 8350661: PKCS11 HKDF throws ProviderException when requesting a 31-byte AES key [v3]

Valerie Peng valeriep at openjdk.org
Thu Apr 17 00:49:49 UTC 2025


On Thu, 17 Apr 2025 00:22:14 GMT, Martin Balao <mbalao at openjdk.org> wrote:

>> Hi,
>> 
>> I would like to request a review for the fix of JDK-8350661. In this fix, we translate the native PKCS 11 error code into an `InvalidAlgorithmParameterException`, as documented in the `KDF::deriveKey` API. With that said, different PKCS 11 libraries may throw different errors and may even (in theory) delay the error until the key is used, as _SunJCE_ does. I believe that this is an improvement but further adjustments may be needed in the future.
>> 
>> No regressions observed in `test/jdk/sun/security/pkcs11/KDF/TestHKDF.java`.
>> 
>> Thanks,
>> Martin.-
>
> Martin Balao has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - TLS keys added to the map.
>  - Key type check refactoring (derivation).

src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11HKDF.java line 224:

> 222:             if (e.match(CKR_KEY_SIZE_RANGE)) {
> 223:                 throw new InvalidAlgorithmParameterException("Invalid key " +
> 224:                         "size for algorithm '" + alg + "'.", e);

nit: include the requested key size in the exception message?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24526#discussion_r2048004364


More information about the security-dev mailing list