-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
In a conversation (#13115) with @alex, it was determined that neither this project nor pyOpenSSL will likely move to support the OpenSSL provider interface. Without OpenSSL providers, the likely approach will have to be direct support for these functions through the implementation of the key primitives (cryptography.hazmat.primitives.asymmetric
). I believe PKCS#11 support is the best approach for supporting HSMs, SmartCards, and TPM2 modules, as it provides a standardized and broadly supported interface for a broad range of cryptographic hardware and services (eg. CloudHSM). Currently there is a high level PKCS#11 library in Python, as well as rust-cryptoki which provides both a high level wrapper as well as access to the low level bindgen. Both bind to the same library, it would just depend on which of these options seems more suitable, alternatively we could manage the rust bindgen in this project directly.
This is something I'd be willing to work on. I have a good amount of Rust, Python, and C experience as well as familiarity of the PKCS#11 standard.