RFR: 8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic

Valerie Peng valeriep at openjdk.org
Wed Mar 20 02:48:32 UTC 2024


Existing legacy mechanism check disables mechanism(s) when the support is partial, e.g. supports decryption but not encryption, or supports verification but not signing. Some mechanisms can be used for both encryption/decryption and sign/verify such as RSA related ones. If the particular mechanism supports sign/verify/decryption but not encryption, it'd be disabled as a result. Fine tune the legacy mechanism check with the service type, i.e. supports encryption for Cipher,  sign for Signature, so the mechanism is disabled based on the service type.
For completeness sake, I also added a PKCS11 provider configuration option to control this check (default is true, disable mechanisms with partial support).

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

Commit messages:
 - 8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic

Changes: https://git.openjdk.org/jdk/pull/18387/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18387&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293345
  Stats: 51 lines in 2 files changed: 25 ins; 25 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18387.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18387/head:pull/18387

PR: https://git.openjdk.org/jdk/pull/18387



More information about the security-dev mailing list