RFR: 8325448: Hybrid Public Key Encryption [v43]
Anthony Scarpino
ascarpino at openjdk.org
Mon Sep 15 22:46:17 UTC 2025
On Fri, 12 Sep 2025 23:39:37 GMT, Weijun Wang <weijun at openjdk.org> wrote:
>> src/java.base/share/classes/javax/crypto/spec/HPKEParameterSpec.java line 317:
>>
>>> 315: throw new IllegalArgumentException("psk_id is empty");
>>> 316: }
>>> 317: if ("RAW".equalsIgnoreCase(psk.getFormat())) {
>>
>> What happens if the format is not RAW? Is that allowed or should it be an IAE?
>> If `psk` is an 16 byte AES Secret key is that checked somewhere or at all relevant?
>
> I just meant if it's not "RAW" (maybe `null`?) then I have no way to check its length. A 16 byte AES will be rejected if it has an encoding which is almost always of "RAW" format.
>
> Or, did you confuse `getAlgorithm` and `getFormat`?
I know it's `getFormat`. Since there is a length check for "RAW", I was wondering why "PKCS#8", didn't use `psk.getEncoded().length` to checked. If you are handling the "RAW" case in this method and later on a short key is checked, that is fine.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18411#discussion_r2350270555
More information about the security-dev
mailing list