pub struct RustCryptoProvider;Expand description
Pure-Rust provider backed by RustCrypto crates.
Trait Implementations§
Source§impl Clone for RustCryptoProvider
impl Clone for RustCryptoProvider
impl Copy for RustCryptoProvider
Source§impl CryptoProvider for RustCryptoProvider
impl CryptoProvider for RustCryptoProvider
Source§fn import_recovery_key(
&self,
pkcs8: &[u8],
) -> Result<Arc<dyn KeyRecoveryKey>, ProviderError>
fn import_recovery_key( &self, pkcs8: &[u8], ) -> Result<Arc<dyn KeyRecoveryKey>, ProviderError>
Import original PKCS#8 input into a provider-owned RSA recovery handle.
Source§fn import_signing_key(
&self,
algorithm: SignatureAlgorithm,
der: &[u8],
) -> Result<Box<dyn SigningKey>, SigningKeyError>
fn import_signing_key( &self, algorithm: SignatureAlgorithm, der: &[u8], ) -> Result<Box<dyn SigningKey>, SigningKeyError>
Import original PKCS#8 input into this engine without exporting another
provider’s private handle. Policy and input budgets are enforced by the caller.
Source§fn supports(&self, capability: ProviderCapability<'_>) -> bool
fn supports(&self, capability: ProviderCapability<'_>) -> bool
Return whether this build can dispatch the requested capability. Read more
Source§fn fill_random(&self, output: &mut [u8]) -> Result<(), ProviderError>
fn fill_random(&self, output: &mut [u8]) -> Result<(), ProviderError>
Fill caller-owned output with cryptographically secure random bytes.
Source§fn derive_key(
&self,
parameters: &KdfParameters<'_>,
_secret: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn derive_key( &self, parameters: &KdfParameters<'_>, _secret: &[u8], ) -> Result<Vec<u8>, ProviderError>
Derive key bytes from caller-owned secret material. Read more
Source§fn digest(
&self,
algorithm: DigestAlgorithm,
data: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn digest( &self, algorithm: DigestAlgorithm, data: &[u8], ) -> Result<Vec<u8>, ProviderError>
Compute a message digest.
Source§fn sign(
&self,
key: &dyn SigningKey,
algorithm: SignatureAlgorithm,
data: &[u8],
) -> Result<Vec<u8>, SigningKeyError>
fn sign( &self, key: &dyn SigningKey, algorithm: SignatureAlgorithm, data: &[u8], ) -> Result<Vec<u8>, SigningKeyError>
Sign bytes with an opaque key handle. Read more
Source§fn sign_with_context(
&self,
key: &dyn SigningKey,
algorithm: SignatureAlgorithm,
context: &SignatureContext,
data: &[u8],
) -> Result<Vec<u8>, SigningKeyError>
fn sign_with_context( &self, key: &dyn SigningKey, algorithm: SignatureAlgorithm, context: &SignatureContext, data: &[u8], ) -> Result<Vec<u8>, SigningKeyError>
Sign with explicit domain separation; unsupported contexts must not be discarded.
Source§fn verify_with_context(
&self,
key: &dyn VerifyingKey,
algorithm: SignatureAlgorithm,
context: &SignatureContext,
data: &[u8],
signature: &[u8],
) -> Result<bool, DsigError>
fn verify_with_context( &self, key: &dyn VerifyingKey, algorithm: SignatureAlgorithm, context: &SignatureContext, data: &[u8], signature: &[u8], ) -> Result<bool, DsigError>
Verify with explicit domain separation; unsupported contexts fail closed.
Source§fn verify(
&self,
key: &dyn VerifyingKey,
algorithm: SignatureAlgorithm,
data: &[u8],
signature: &[u8],
) -> Result<bool, DsigError>
fn verify( &self, key: &dyn VerifyingKey, algorithm: SignatureAlgorithm, data: &[u8], signature: &[u8], ) -> Result<bool, DsigError>
Verify bytes with an opaque key handle. Read more
Source§fn verify_x509_signature(
&self,
algorithm: X509SignatureAlgorithm,
signed_data: &[u8],
signature: &[u8],
issuer_spki_der: &[u8],
) -> Result<bool, ProviderError>
fn verify_x509_signature( &self, algorithm: X509SignatureAlgorithm, signed_data: &[u8], signature: &[u8], issuer_spki_der: &[u8], ) -> Result<bool, ProviderError>
Verify an X.509 certificate or CRL signature under its issuer SPKI.
Source§fn encrypt_data(
&self,
algorithm: DataEncryptionAlgorithm,
key: &[u8],
plaintext: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn encrypt_data( &self, algorithm: DataEncryptionAlgorithm, key: &[u8], plaintext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Encrypt XMLEnc content bytes, including standard framing.
Source§fn decrypt_data(
&self,
algorithm: DataEncryptionAlgorithm,
key: &[u8],
ciphertext: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn decrypt_data( &self, algorithm: DataEncryptionAlgorithm, key: &[u8], ciphertext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Decrypt XMLEnc content bytes, including framing validation.
Source§fn wrap_key(
&self,
algorithm: KeyWrapAlgorithm,
kek: &[u8],
key: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn wrap_key( &self, algorithm: KeyWrapAlgorithm, kek: &[u8], key: &[u8], ) -> Result<Vec<u8>, ProviderError>
Wrap a content key with RFC 3394 AES Key Wrap. Read more
Source§fn unwrap_key(
&self,
algorithm: KeyWrapAlgorithm,
kek: &[u8],
wrapped: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn unwrap_key( &self, algorithm: KeyWrapAlgorithm, kek: &[u8], wrapped: &[u8], ) -> Result<Vec<u8>, ProviderError>
Unwrap a content key with RFC 3394 AES Key Wrap.
Source§fn transport_key(
&self,
key: &dyn KeyTransportKey,
parameters: &RsaOaepParameters,
plaintext: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn transport_key( &self, key: &dyn KeyTransportKey, parameters: &RsaOaepParameters, plaintext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Wrap key bytes using an opaque RSA public-key operation.
Source§fn recover_key(
&self,
key: &dyn KeyRecoveryKey,
parameters: &RsaOaepParameters,
ciphertext: &[u8],
) -> Result<Vec<u8>, ProviderError>
fn recover_key( &self, key: &dyn KeyRecoveryKey, parameters: &RsaOaepParameters, ciphertext: &[u8], ) -> Result<Vec<u8>, ProviderError>
Recover key bytes using an opaque RSA private-key operation.
Source§fn agree_key(
&self,
key: &dyn KeyAgreementKey,
parameters: &KeyAgreementParameters<'_>,
) -> Result<Vec<u8>, ProviderError>
fn agree_key( &self, key: &dyn KeyAgreementKey, parameters: &KeyAgreementParameters<'_>, ) -> Result<Vec<u8>, ProviderError>
Perform key agreement with an opaque provider-owned private key.
Source§fn require_capability(
&self,
capability: ProviderCapability<'_>,
) -> Result<(), ProviderError>
fn require_capability( &self, capability: ProviderCapability<'_>, ) -> Result<(), ProviderError>
Reject an unavailable exact capability without falling back.
Source§impl Debug for RustCryptoProvider
impl Debug for RustCryptoProvider
Auto Trait Implementations§
impl Freeze for RustCryptoProvider
impl RefUnwindSafe for RustCryptoProvider
impl Send for RustCryptoProvider
impl Sync for RustCryptoProvider
impl Unpin for RustCryptoProvider
impl UnsafeUnpin for RustCryptoProvider
impl UnwindSafe for RustCryptoProvider
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