When a multi-part cipher operation fails in SunPKCS11 (i.e. because of an invalid block size), we now cancel the operation before returning the underlying Session to the Session Manager. This allows to use the returned Session for a different purpose. Otherwise, an CKR_OPERATION_ACTIVE error would be raised from the PKCS#11 library.
The jdk/sun/security/pkcs11/Cipher/CancelMultipart.java regression test is introduced as part of this PR. No regressions found in jdk/sun/security/pkcs11. ------------- Commit messages: - Test for 8258833. - 8258833: Cancel multi-part cipher operations in SunPKCS11 after failures Changes: https://git.openjdk.java.net/jdk/pull/1901/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1901&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8258833 Stats: 204 lines in 2 files changed: 200 ins; 2 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/1901.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1901/head:pull/1901 PR: https://git.openjdk.java.net/jdk/pull/1901