RFR: 8365288: PEMDecoder should throw ClassCastException
Weijun Wang
weijun at openjdk.org
Tue Aug 12 11:52:13 UTC 2025
On Mon, 11 Aug 2025 22:38:22 GMT, Chen Liang <liach at openjdk.org> wrote:
>> This bug fix is to change PEMDecoder.decode(..., Class<>) using PKCS8EncodedKeySpec and X509EncodedKeySpec will throw an IllegalArgumentException when the decoded data does not match. It should be ClassCastException.
>>
>> Thanks
>>
>> Tony
>
> test/jdk/java/security/PEM/PEMDecoderTest.java line 492:
>
>> 490: testClass(entry, clazz);
>> 491: } catch (Exception e) {
>> 492: if (e.getClass().isAssignableFrom(ec)) {
>
> You got it the other way around, testing if `e` is of a superclass of `ec`.
> Suggestion:
>
> if (ec.isInstance(e)) {
>
> Or `ec.isAssignableFrom(e.getClass())`
I cannot say the name is confusing because I actually don't know what it means. Over the years I've learnt to read it as `isParentOf`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26734#discussion_r2269592770
More information about the security-dev
mailing list