Enum pkcs5::EncryptionScheme [−][src]
#[non_exhaustive]
pub enum EncryptionScheme<'a> {
Pbes1(Parameters),
Pbes2(Parameters<'a>),
}
Expand description
Supported PKCS#5 password-based encryption schemes.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Pbes1(Parameters)
Password-Based Encryption Scheme 1 as defined in RFC 8018 Section 6.1.
Tuple Fields of Pbes1
0: Parameters
Pbes2(Parameters<'a>)
Password-Based Encryption Scheme 2 as defined in RFC 8018 Section 6.2.
Tuple Fields of Pbes2
0: Parameters<'a>
Implementations
pub fn decrypt(
&self,
password: impl AsRef<[u8]>,
ciphertext: &[u8]
) -> Result<Vec<u8>, CryptoError>
This is supported on crate features alloc
and pbes2
only.
pub fn decrypt(
&self,
password: impl AsRef<[u8]>,
ciphertext: &[u8]
) -> Result<Vec<u8>, CryptoError>
alloc
and pbes2
only.Attempt to decrypt the given ciphertext, allocating and returning a byte vector containing the plaintext.
pub fn decrypt_in_place<'b>(
&self,
password: impl AsRef<[u8]>,
buffer: &'b mut [u8]
) -> Result<&'b [u8], CryptoError>
This is supported on crate feature pbes2
only.
pub fn decrypt_in_place<'b>(
&self,
password: impl AsRef<[u8]>,
buffer: &'b mut [u8]
) -> Result<&'b [u8], CryptoError>
pbes2
only.Attempt to decrypt the given ciphertext in-place using a key derived from the provided password and this scheme’s parameters.
Returns an error if the algorithm specified in this scheme’s parameters is unsupported, or if the ciphertext is malformed (e.g. not a multiple of a block mode’s padding)
pub fn encrypt(
&self,
password: impl AsRef<[u8]>,
plaintext: &[u8]
) -> Result<Vec<u8>, CryptoError>
This is supported on crate features alloc
and pbes2
only.
pub fn encrypt(
&self,
password: impl AsRef<[u8]>,
plaintext: &[u8]
) -> Result<Vec<u8>, CryptoError>
alloc
and pbes2
only.Encrypt the given plaintext, allocating and returning a vector containing the ciphertext.
pub fn encrypt_in_place<'b>(
&self,
password: impl AsRef<[u8]>,
buffer: &'b mut [u8],
pos: usize
) -> Result<&'b [u8], CryptoError>
This is supported on crate feature pbes2
only.
pub fn encrypt_in_place<'b>(
&self,
password: impl AsRef<[u8]>,
buffer: &'b mut [u8],
pos: usize
) -> Result<&'b [u8], CryptoError>
pbes2
only.Encrypt the given ciphertext in-place using a key derived from the provided password and this scheme’s parameters.
Get the ObjectIdentifier
(a.k.a OID) for this algorithm.
Get pbes1::Parameters
if it is the selected algorithm.
Get pbes2::Parameters
if it is the selected algorithm.
Trait Implementations
Compute the length of this value in bytes when encoded as ASN.1 DER.
Encode this value as ASN.1 DER using the provided Encoder
.
Performs the conversion.
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Performs the conversion.
Auto Trait Implementations
impl<'a> RefUnwindSafe for EncryptionScheme<'a>
impl<'a> Send for EncryptionScheme<'a>
impl<'a> Sync for EncryptionScheme<'a>
impl<'a> Unpin for EncryptionScheme<'a>
impl<'a> UnwindSafe for EncryptionScheme<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more