pub struct EncapsulationDecryptor<'a> { /* private fields */ }Expand description
Recipient-owned private handle; no key is derived from untrusted hints.
Implementations§
Source§impl<'a> EncapsulationDecryptor<'a>
impl<'a> EncapsulationDecryptor<'a>
Sourcepub fn new(key: &'a dyn KeyDecapsulationKey) -> Self
pub fn new(key: &'a dyn KeyDecapsulationKey) -> Self
Bind one explicit trusted recipient key for content or nested KEK recovery.
Sourcepub fn provider_key(key: Arc<dyn KeyDecapsulationKey>) -> Self
pub fn provider_key(key: Arc<dyn KeyDecapsulationKey>) -> Self
Retain a provider-owned handle selected from an inventory.
Trait Implementations§
Source§impl DecryptionKeyResolver for EncapsulationDecryptor<'_>
impl DecryptionKeyResolver for EncapsulationDecryptor<'_>
Source§fn resolve_key(
&self,
_: &dyn CryptoProvider,
_: DataEncryptionAlgorithm,
_: Option<&EncryptedKey>,
) -> Result<Vec<u8>, XmlEncError>
fn resolve_key( &self, _: &dyn CryptoProvider, _: DataEncryptionAlgorithm, _: Option<&EncryptedKey>, ) -> Result<Vec<u8>, XmlEncError>
Resolve the symmetric key for
algorithm, optionally unwrapping encrypted_key.Source§fn resolve_encapsulation_content_keys_with_policy(
&self,
provider: &dyn CryptoProvider,
algorithm: DataEncryptionAlgorithm,
descriptor: &EncapsulationMechanism,
policy: &DecryptionPolicy,
budget: &mut KeyCandidateBudget,
) -> Result<Vec<RecoveredContentKey>, XmlEncError>
fn resolve_encapsulation_content_keys_with_policy( &self, provider: &dyn CryptoProvider, algorithm: DataEncryptionAlgorithm, descriptor: &EncapsulationMechanism, policy: &DecryptionPolicy, budget: &mut KeyCandidateBudget, ) -> Result<Vec<RecoveredContentKey>, XmlEncError>
Resolve an experimental KEM source under the operation snapshot. Raw
content-key resolvers refuse by default rather than bypassing the KEM.
Source§fn resolve_key_encryption_keys_with_policy(
&self,
provider: &dyn CryptoProvider,
algorithm: KeyWrapAlgorithm,
source: KeyEncryptionKeySource<'_>,
policy: &DecryptionPolicy,
budget: &mut KeyCandidateBudget,
) -> Result<Vec<RecoveredContentKey>, XmlEncError>
fn resolve_key_encryption_keys_with_policy( &self, provider: &dyn CryptoProvider, algorithm: KeyWrapAlgorithm, source: KeyEncryptionKeySource<'_>, policy: &DecryptionPolicy, budget: &mut KeyCandidateBudget, ) -> Result<Vec<RecoveredContentKey>, XmlEncError>
Resolve an actual KEK purpose; default refusal prevents incorrectly
adapting a content algorithm merely because its key width happens to fit.
Source§fn resolve_agreement_content_keys_with_policy(
&self,
_provider: &dyn CryptoProvider,
_algorithm: DataEncryptionAlgorithm,
_descriptor: &AgreementMethod,
_policy: &DecryptionPolicy,
_budget: &mut KeyCandidateBudget,
) -> Result<Vec<RecoveredContentKey>, XmlEncError>
fn resolve_agreement_content_keys_with_policy( &self, _provider: &dyn CryptoProvider, _algorithm: DataEncryptionAlgorithm, _descriptor: &AgreementMethod, _policy: &DecryptionPolicy, _budget: &mut KeyCandidateBudget, ) -> Result<Vec<RecoveredContentKey>, XmlEncError>
Resolve an agreement under the operation snapshot and shared allowance.
Default refusal prevents a raw content key from bypassing AgreementMethod.
Source§fn resolve_derived_content_keys_with_policy(
&self,
_provider: &dyn CryptoProvider,
_algorithm: DataEncryptionAlgorithm,
_descriptor: &DerivedKey,
_policy: &DecryptionPolicy,
_budget: &mut KeyCandidateBudget,
) -> Result<Vec<RecoveredContentKey>, XmlEncError>
fn resolve_derived_content_keys_with_policy( &self, _provider: &dyn CryptoProvider, _algorithm: DataEncryptionAlgorithm, _descriptor: &DerivedKey, _policy: &DecryptionPolicy, _budget: &mut KeyCandidateBudget, ) -> Result<Vec<RecoveredContentKey>, XmlEncError>
Resolve a transported derivation descriptor using the same immutable
operation policy and cumulative candidate/KDF allowance. The default
refuses it; a raw content-key resolver must not bypass derivation.
Source§fn resolve_content_keys_with_policy(
&self,
provider: &dyn CryptoProvider,
algorithm: DataEncryptionAlgorithm,
encrypted_key: Option<&EncryptedKey>,
policy: &DecryptionPolicy,
budget: &mut KeyCandidateBudget,
) -> Result<Vec<RecoveredContentKey>, XmlEncError>
fn resolve_content_keys_with_policy( &self, provider: &dyn CryptoProvider, algorithm: DataEncryptionAlgorithm, encrypted_key: Option<&EncryptedKey>, policy: &DecryptionPolicy, budget: &mut KeyCandidateBudget, ) -> Result<Vec<RecoveredContentKey>, XmlEncError>
Resolve operation candidates without dropping implicit-rejection state.
Wrappers around recipient resolvers must forward this method; converting
recovered candidates to raw bytes loses the final content acceptance gate.
Source§fn resolve_key_candidates_with_policy(
&self,
provider: &dyn CryptoProvider,
algorithm: DataEncryptionAlgorithm,
encrypted_key: Option<&EncryptedKey>,
policy: &DecryptionPolicy,
budget: &mut KeyCandidateBudget,
) -> Result<Vec<Vec<u8>>, XmlEncError>
fn resolve_key_candidates_with_policy( &self, provider: &dyn CryptoProvider, algorithm: DataEncryptionAlgorithm, encrypted_key: Option<&EncryptedKey>, policy: &DecryptionPolicy, budget: &mut KeyCandidateBudget, ) -> Result<Vec<Vec<u8>>, XmlEncError>
Resolve under the operation’s immutable snapshot. RSA resolvers enforce
rsa_keys before provider recovery; wrappers must forward this snapshot. Read moreSource§fn resolve_key_candidates(
&self,
provider: &dyn CryptoProvider,
algorithm: DataEncryptionAlgorithm,
encrypted_key: Option<&EncryptedKey>,
budget: &mut KeyCandidateBudget,
) -> Result<Vec<Vec<u8>>, XmlEncError>
fn resolve_key_candidates( &self, provider: &dyn CryptoProvider, algorithm: DataEncryptionAlgorithm, encrypted_key: Option<&EncryptedKey>, budget: &mut KeyCandidateBudget, ) -> Result<Vec<Vec<u8>>, XmlEncError>
Resolve ordered candidate keys for one prepared decryption operation. Read more
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for EncapsulationDecryptor<'a>
impl<'a> !UnwindSafe for EncapsulationDecryptor<'a>
impl<'a> Freeze for EncapsulationDecryptor<'a>
impl<'a> Send for EncapsulationDecryptor<'a>
impl<'a> Sync for EncapsulationDecryptor<'a>
impl<'a> Unpin for EncapsulationDecryptor<'a>
impl<'a> UnsafeUnpin for EncapsulationDecryptor<'a>
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