#[non_exhaustive]pub enum ProviderCapability<'a> {
Show 15 variants
Encapsulate(KeyEncapsulationAlgorithm),
Decapsulate(KeyEncapsulationAlgorithm),
Digest(DigestAlgorithm),
Sign(SignatureAlgorithm),
Verify(SignatureAlgorithm),
VerifyCertificate(X509SignatureAlgorithm),
Encrypt(DataEncryptionAlgorithm),
Decrypt(DataEncryptionAlgorithm),
KeyWrap(KeyWrapAlgorithm),
KeyUnwrap(KeyWrapAlgorithm),
KeyTransport(&'a RsaOaepParameters),
KeyRecovery(&'a RsaOaepParameters),
KeyAgreement(&'a KeyAgreementParameters<'a>),
Kdf(&'a KdfParameters<'a>),
Random,
}Expand description
One exact provider capability, including operation-specific parameters.
Capability discovery describes mechanisms, not policy permission. Callers must still apply the immutable operation policy before provider dispatch.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Encapsulate(KeyEncapsulationAlgorithm)
Exact KEM parameter set, independent of algorithm permission.
Decapsulate(KeyEncapsulationAlgorithm)
Exact KEM parameter set for private-key decapsulation.
Digest(DigestAlgorithm)
Message digest computation for an XMLDSig digest method.
Sign(SignatureAlgorithm)
Provider dispatch for an XMLDSig signing method.
The opaque signing key remains responsible for accepting the method and implementing its primitive.
Verify(SignatureAlgorithm)
Provider dispatch for an XMLDSig verification method.
The opaque verification key remains responsible for accepting the method and implementing its primitive.
VerifyCertificate(X509SignatureAlgorithm)
X.509 signature verification with complete algorithm parameters.
Encrypt(DataEncryptionAlgorithm)
XMLEnc content encryption.
Decrypt(DataEncryptionAlgorithm)
XMLEnc content decryption.
KeyWrap(KeyWrapAlgorithm)
RFC 3394 key wrapping.
KeyUnwrap(KeyWrapAlgorithm)
RFC 3394 key unwrapping.
KeyTransport(&'a RsaOaepParameters)
RSA-OAEP key transport with complete digest, MGF, and label parameters.
KeyRecovery(&'a RsaOaepParameters)
RSA-OAEP key recovery with complete digest, MGF, and label parameters.
KeyAgreement(&'a KeyAgreementParameters<'a>)
Provider-defined key agreement identified by its standard URI.
Kdf(&'a KdfParameters<'a>)
Provider-defined key derivation identified by its standard URI.
Random
Cryptographically secure random byte generation.