RFR: 8358451: SunJCE PBEKey impl should throw IllegalStateException when getEncoded() is called

Weijun Wang weijun at openjdk.org
Wed Jun 4 15:14:51 UTC 2025


On Wed, 4 Jun 2025 03:10:29 GMT, Valerie Peng <valeriep at openjdk.org> wrote:

> Update the `PBEKey` class of the SunJCE provider which override the `javax.security.auth.Destroyable` interface to 
> 
> 1. throw `IllegalStateException` if `getEncoded()` is called after key is destroyed
> 2. serialization of such destroyed `PBEKey` object will lead to exception. 
>  
> Also update the `PBEKeyFactory` class of the SunJCE provider to check for destroyed keys and throw exceptions per the method javadoc.

src/java.base/share/classes/com/sun/crypto/provider/PBEKey.java line 1:

> 1: /*

Shall we also throw ISE when `getFormat` and `getAlgorithm` are called? Calling these methods after the key is destroyed looks suspicious and may reveal a coding error.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25632#discussion_r2126853766


More information about the security-dev mailing list