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

Reply via email to