The KMIP signer tests the supported capabilities of the KMIP provider to see if it supports the minimum required set of operations. The PKCS#11 signer doesn't do this because it wasn't possible with the old pkcs11 crate nor with the new cryptoki crate. However, the soon to be released new version of cryptoki makes this possible.
Note: If implementing this we should also implement a 'force' flag as exists for the KMIP signer, in case a provider doesn't claim support for a particular operation but does actually support it.
The KMIP signer tests the supported capabilities of the KMIP provider to see if it supports the minimum required set of operations. The PKCS#11 signer doesn't do this because it wasn't possible with the old
pkcs11
crate nor with the newcryptoki
crate. However, the soon to be released new version ofcryptoki
makes this possible.Note: If implementing this we should also implement a 'force' flag as exists for the KMIP signer, in case a provider doesn't claim support for a particular operation but does actually support it.
See: https://github.com/parallaxsecond/rust-cryptoki/issues/78, https://github.com/parallaxsecond/rust-cryptoki/pull/84#issuecomment-1223824810