Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PKCS11 testing with SoftHSM2 #805

Merged
merged 38 commits into from
Sep 3, 2023
Merged

PKCS11 testing with SoftHSM2 #805

merged 38 commits into from
Sep 3, 2023

Conversation

lhazlewood
Copy link
Contributor

No description provided.

- removed conditional check for X448 and X25519 certificate/chains now that we have signed certs for those test key files
… to support 'import' and 'configure' subcommands
- Added new Curve#contains method and leveraged that to clean up code considerably in EcdhKeyAlgorithm.java
…rily want to make that available before ED curve calculations are ready
… can't control across JVM versions w/ SoftHSM
…s happening

- Updated README.md to document how to account for ECDH-ES and PKCS11 PrivateKeys
…s happening

- Updated README.md to document how to account for ECDH-ES and PKCS11 PrivateKeys
…s happening

- Updated README.md to document how to account for ECDH-ES and PKCS11 PrivateKeys
… `--usage-derive` flag to allow testing PKCS11 keys with ECDH-ES key algorithms
…icit in its purpose.

- Introduced new CryptoAlgorithm#nonPkcs11Provider to ensure PKCS11 provider won't be used when required key material is required (i.e. for ephemeral key(pair) KeyAlgorithms).
- Ensured CryptoAlgorithm#generateCek ignored applying a PKCS11 provider since required key material wouldn't be available otherwise.
…icit in its purpose.

- Introduced new CryptoAlgorithm#nonPkcs11Provider to ensure PKCS11 provider won't be used when required key material is required (i.e. for ephemeral key(pair) KeyAlgorithms).
- Ensured CryptoAlgorithm#generateCek ignored applying a PKCS11 provider since required key material wouldn't be available otherwise.
- Ensured DefaultJwtBuilder and DefaultJwtParser would use the provider for the KeyAlgorithm, but not for the AeadAlgorithm (unless using direct encryption)
- Consolidated unsigned byte array length calculation for non-negative integers (used in a few places) to a new Bytes#uintLength method. Refactored other classes to use this new method to eliminate code duplication
- Consolidated unsigned byte array length calculation for non-negative integers (used in a few places) to a new Bytes#uintLength method. Refactored other classes to use this new method to eliminate code duplication
…1 secret keys

- Explicitly prevented Password instances in DefaultMacAlgorithm
- Fixed the EdwardsCurve#keyBitLength implementation to accurately reflect RFC key sizes and not encoded byte array sizes.
- OptionalMethodInvoker now supports static invocations in addition to the existing instance invocation support.
@lhazlewood lhazlewood merged commit 21e243c into master Sep 3, 2023
18 checks passed
@lhazlewood lhazlewood deleted the softhsm branch September 3, 2023 02:53
@lhazlewood lhazlewood added this to the 0.12.0 milestone Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant