pub struct PrivateKeyDecryptor { /* private fields */ }Expand description
Resolver backed by an RSA private key for OAEP-wrapped session keys.
Implementations§
Source§impl PrivateKeyDecryptor
impl PrivateKeyDecryptor
Sourcepub fn new(key: RsaPrivateKey) -> Self
pub fn new(key: RsaPrivateKey) -> Self
Create a resolver from an already-parsed RSA private key.
Sourcepub fn provider_key(key: Arc<dyn KeyRecoveryKey>) -> Self
pub fn provider_key(key: Arc<dyn KeyRecoveryKey>) -> Self
Create a resolver from an opaque provider-owned recovery key.
Source§impl PrivateKeyDecryptor
impl PrivateKeyDecryptor
Sourcepub fn resolve_key_with_policy(
&self,
provider: &dyn CryptoProvider,
algorithm: DataEncryptionAlgorithm,
encrypted_key: Option<&EncryptedKey>,
policy: &DecryptionPolicy,
) -> Result<RecoveredContentKey, XmlEncError>
pub fn resolve_key_with_policy( &self, provider: &dyn CryptoProvider, algorithm: DataEncryptionAlgorithm, encrypted_key: Option<&EncryptedKey>, policy: &DecryptionPolicy, ) -> Result<RecoveredContentKey, XmlEncError>
Recover one session key using the exact operation policy. This avoids a temporary candidate collection when composing ordered RSA key rings.
Trait Implementations§
Source§impl Clone for PrivateKeyDecryptor
impl Clone for PrivateKeyDecryptor
Source§impl DecryptionKeyResolver for PrivateKeyDecryptor
impl DecryptionKeyResolver for PrivateKeyDecryptor
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(
&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_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 PrivateKeyDecryptor
impl !UnwindSafe for PrivateKeyDecryptor
impl Freeze for PrivateKeyDecryptor
impl Send for PrivateKeyDecryptor
impl Sync for PrivateKeyDecryptor
impl Unpin for PrivateKeyDecryptor
impl UnsafeUnpin for PrivateKeyDecryptor
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