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.