On Tue, 10 May 2022 01:22:21 GMT, Valerie Peng <valer...@openjdk.org> wrote:
>> src/java.base/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java >> line 314: >> >>> 312: } else if (cipher instanceof DESedeCipher >>> tripleDes) { >>> 313: tripleDes.engineInit(opmode, cipherKey, >>> ivSpec, random); >>> 314: } else { >> >> Can we combine the 2 if above? What else type can it be? > > Currently, the specified CipherSpi object is one of RC4, RC2, DESede. The > "else" part is for catching new PKCS12 PBE algorithms support which uses > other cipher algorithms. > CipherSpi.engineInit(...) is protected, so that's why we use the instanceof > to cast the CipherSpi object into the actual impl class in order to call the > engineInit(...) since the actual impl class is in the same package of this > class. The `core.init(..., cipher)` is actually `cipher.init(core.translateKeyAndParams())`. Is it possible we write it this way? ------------- PR: https://git.openjdk.java.net/jdk/pull/8521