pub struct Seal { /* private fields */ }Expand description
Represents an EVP_Seal context.
Implementations§
source§impl Seal
impl Seal
sourcepub fn new<T>(cipher: Cipher, pub_keys: &[PKey<T>]) -> Result<Seal, ErrorStack>where
T: HasPublic,
pub fn new<T>(cipher: Cipher, pub_keys: &[PKey<T>]) -> Result<Seal, ErrorStack>where
T: HasPublic,
Creates a new Seal.
sourcepub fn encrypted_keys(&self) -> &[Vec<u8>]
pub fn encrypted_keys(&self) -> &[Vec<u8>]
Returns the encrypted keys.
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 encrypted 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 encryption 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.