Struct openssl::envelope::Open [−][src]
pub struct Open { /* fields omitted */ }Represents an EVP_Open context.
Implementations
impl Open[src]
impl Open[src]pub fn new<T>(
cipher: Cipher,
priv_key: &PKeyRef<T>,
iv: Option<&[u8]>,
encrypted_key: &[u8]
) -> Result<Open, ErrorStack> where
T: HasPrivate, [src]
cipher: Cipher,
priv_key: &PKeyRef<T>,
iv: Option<&[u8]>,
encrypted_key: &[u8]
) -> Result<Open, ErrorStack> where
T: HasPrivate,
Creates a new Open.
pub fn update(
&mut self,
input: &[u8],
output: &mut [u8]
) -> Result<usize, ErrorStack>[src]
&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().
pub fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack>[src]
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.