On Tue, 10 May 2022 01:22:21 GMT, Valerie Peng <[email protected]> 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