#[non_exhaustive]pub enum ProviderOperation {
Show 15 variants
Digest,
Sign,
Verify,
VerifyCertificate,
Encrypt,
Decrypt,
KeyWrap,
KeyUnwrap,
KeyTransport,
KeyRecovery,
KeyAgreement,
Encapsulate,
Decapsulate,
Kdf,
Random,
}Expand description
A cryptographic operation advertised by a provider.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Digest
Message digest computation.
Sign
Public-key signature generation.
Verify
Public-key signature verification.
VerifyCertificate
X.509 certificate or CRL signature verification.
Encrypt
Authenticated or padded symmetric encryption.
Decrypt
Authenticated or padded symmetric decryption.
KeyWrap
Symmetric key wrapping.
KeyUnwrap
Symmetric key unwrapping.
KeyTransport
Public-key key transport.
KeyRecovery
Private-key recovery of transported key bytes.
KeyAgreement
Key agreement.
Encapsulate
Establish a shared secret with a recipient public key.
Decapsulate
Recover the shared secret using a recipient private key.
Kdf
Key derivation.
Random
Cryptographically secure random bytes.
Trait Implementations§
Source§impl Clone for ProviderOperation
impl Clone for ProviderOperation
impl Copy for ProviderOperation
Source§impl Debug for ProviderOperation
impl Debug for ProviderOperation
impl Eq for ProviderOperation
Source§impl Hash for ProviderOperation
impl Hash for ProviderOperation
Source§impl PartialEq for ProviderOperation
impl PartialEq for ProviderOperation
impl StructuralPartialEq for ProviderOperation
Auto Trait Implementations§
impl Freeze for ProviderOperation
impl RefUnwindSafe for ProviderOperation
impl Send for ProviderOperation
impl Sync for ProviderOperation
impl Unpin for ProviderOperation
impl UnsafeUnpin for ProviderOperation
impl UnwindSafe for ProviderOperation
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more