pub trait JweDecrypter:
Debug
+ Send
+ Sync {
// Required methods
fn algorithm(&self) -> &dyn JweAlgorithm;
fn key_id(&self) -> Option<&str>;
fn decrypt(
&self,
encrypted_key: Option<&[u8]>,
cencryption: &dyn JweContentEncryption,
header: &JweHeader,
) -> Result<Cow<'_, [u8]>, JoseError>;
fn box_clone(&self) -> Box<dyn JweDecrypter>;
}Required Methods§
Sourcefn algorithm(&self) -> &dyn JweAlgorithm
fn algorithm(&self) -> &dyn JweAlgorithm
Return the source algorithm instance.
Sourcefn key_id(&self) -> Option<&str>
fn key_id(&self) -> Option<&str>
Return the source key ID. The default value is a value of kid parameter in JWK.
Sourcefn decrypt(
&self,
encrypted_key: Option<&[u8]>,
cencryption: &dyn JweContentEncryption,
header: &JweHeader,
) -> Result<Cow<'_, [u8]>, JoseError>
fn decrypt( &self, encrypted_key: Option<&[u8]>, cencryption: &dyn JweContentEncryption, header: &JweHeader, ) -> Result<Cow<'_, [u8]>, JoseError>
Return a decrypted key.
§Arguments
encrypted_key- The encrypted key.cencryption- The content encryption method.header- The header
fn box_clone(&self) -> Box<dyn JweDecrypter>
Trait Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".