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.