pub struct Open { /* private fields */ }
Expand description
Represents an EVP_Open context.
Implementations§
source§impl Open
impl Open
sourcepub fn new<T>(
cipher: Cipher,
priv_key: &PKeyRef<T>,
iv: Option<&[u8]>,
encrypted_key: &[u8]
) -> Result<Open, ErrorStack>where
T: HasPrivate,
pub fn new<T>( cipher: Cipher, priv_key: &PKeyRef<T>, iv: Option<&[u8]>, encrypted_key: &[u8] ) -> Result<Open, ErrorStack>where T: HasPrivate,
Creates a new Open
.
sourcepub fn update(
&mut self,
input: &[u8],
output: &mut [u8]
) -> Result<usize, ErrorStack>
pub fn update( &mut self, input: &[u8], output: &mut [u8] ) -> Result<usize, ErrorStack>
Feeds data from input
through the cipher, writing decrypted bytes into output
.
The number of bytes written to output
is returned. Note that this may
not be equal to the length of input
.
Panics
Panics if output.len() < input.len() + block_size
where
block_size
is the block size of the cipher (see Cipher::block_size
),
or if output.len() > c_int::max_value()
.
sourcepub fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack>
pub fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack>
Finishes the decryption process, writing any remaining data to output
.
The number of bytes written to output
is returned.
update
should not be called after this method.
Panics
Panics if output
is less than the cipher’s block size.