pub struct OpaqueContentKeyResolver { /* private fields */ }Expand description
Direct non-exportable content key, with no private-key or symmetric-byte export.
Implementations§
Source§impl OpaqueContentKeyResolver
impl OpaqueContentKeyResolver
Sourcepub fn new(key: Arc<dyn ContentDecryptionKey>) -> Self
pub fn new(key: Arc<dyn ContentDecryptionKey>) -> Self
Retain a caller-selected handle; policy remains in the operation context.
Trait Implementations§
Source§impl DecryptionKeyResolver for OpaqueContentKeyResolver
impl DecryptionKeyResolver for OpaqueContentKeyResolver
Source§fn resolve_key(
&self,
_provider: &dyn CryptoProvider,
_algorithm: DataEncryptionAlgorithm,
_encrypted_key: Option<&EncryptedKey>,
) -> Result<Vec<u8>, XmlEncError>
fn resolve_key( &self, _provider: &dyn CryptoProvider, _algorithm: DataEncryptionAlgorithm, _encrypted_key: Option<&EncryptedKey>, ) -> Result<Vec<u8>, XmlEncError>
Resolve the symmetric key for
algorithm, optionally unwrapping encrypted_key.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_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_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 !RefUnwindSafe for OpaqueContentKeyResolver
impl !UnwindSafe for OpaqueContentKeyResolver
impl Freeze for OpaqueContentKeyResolver
impl Send for OpaqueContentKeyResolver
impl Sync for OpaqueContentKeyResolver
impl Unpin for OpaqueContentKeyResolver
impl UnsafeUnpin for OpaqueContentKeyResolver
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