RFR: 8248268: Support KWP in addition to KW

Valerie Peng valeriep at openjdk.java.net
Thu Feb 4 10:58:14 UTC 2021


This change updates SunJCE provider as below:
- updated existing AESWrap support with AES/KW/NoPadding cipher transformation. 
- added support for AES/KWP/NoPadding and AES/KW/PKCS5Padding.

Existing AESWrap impl, i.e. AESWrapCipher class, is re-factored and renamed to KeyWrapCipher class. The W and W_inverse functions are moved to KWUtil class. The KW and KWP support are in the new AESKeyWrap and AESKeyWrapPadded classes which extend FeedbackCipher and used in KeyWrapCipher class. To minimize data copying, AESKeyWrap and AESKeyWrapPadded will do the crypto operation over the same input buffer which is allocated and managed by KeyWrapCipher class. 

Also note that existing AESWrap impl does not take IV. However, the corresponding PKCS#11 mechanisms do, so I added support for accepting IVs to both KW and KWP.

Thanks,
Valerie

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

Commit messages:
 - 8248268: Support KWP in addition to KW

Changes: https://git.openjdk.java.net/jdk/pull/2404/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2404&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248268
  Stats: 2534 lines in 14 files changed: 1923 ins; 536 del; 75 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2404.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2404/head:pull/2404

PR: https://git.openjdk.java.net/jdk/pull/2404



More information about the security-dev mailing list