On Sat, 22 May 2021 01:02:50 GMT, Xue-Lei Andrew Fan <[email protected]> wrote:
>> Valerie Peng has updated the pull request with a new target base due to a
>> merge or a rebase. The pull request now contains seven commits:
>>
>> - Merge master into JDK-8248268
>> - Minor update to address review comments.
>> - Changed AESParameters to allow 4-byte, 8-byte IVs and removed
>> KWParameters and KWPParameters.
>> - Refactor code to reduce code duplication
>> Address review comments
>> Add more test vectors
>> - Changed AlgorithmParameters impls to register under AES/KW/NoPadding and
>> AES/KWP/NoPadding
>> - Restored Iv algorithm parameters impl.
>> - 8248268: Support KWP in addition to KW
>>
>> Updated existing AESWrap support with AES/KW/NoPadding cipher
>> transformation. Added support for AES/KWP/NoPadding and
>> AES/KW/PKCS5Padding support to SunJCE provider.
>
> src/java.base/share/classes/com/sun/crypto/provider/ConstructKeys.java line
> 176:
>
>> 174: return ConstructKeys.constructPublicKey(encoding,
>> keyAlgorithm);
>> 175: default:
>> 176: throw new RuntimeException("Unsupported key type");
>
> Good improvement to thrown an exception rather than return "null"!
>
> Is NoSuchAlgorithmException fitted better the specification? See also the
> comment in KeyWrapCipher.engineUnwrap().
Yes, will change.
> src/java.base/share/classes/com/sun/crypto/provider/KeyWrapCipher.java line
> 710:
>
>> 708: outLen = helperDecrypt(dataBuf, dataIdx);
>> 709: return ConstructKeys.constructKey(dataBuf, 0, outLen,
>> 710: wrappedKeyAlgorithm, wrappedKeyType);
>
> Per the specification of engineUnwrap, maybe, the
> ConstructKeys.constructKey() implementation could throw
> NoSuchAlgorithmException if wrappedKeyType is unknown. See the common in the
> the ConstructKeys.constructKey() implementation.
Sure, makes sense.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2404