openssl::envelope

Struct Seal

source
pub struct Seal { /* private fields */ }
Expand description

Represents an EVP_Seal context.

Implementations§

source§

impl Seal

source

pub fn new<T>(cipher: Cipher, pub_keys: &[PKey<T>]) -> Result<Seal, ErrorStack>
where T: HasPublic,

Creates a new Seal.

source

pub fn iv(&self) -> Option<&[u8]>

Returns the initialization vector, if the cipher uses one.

source

pub fn encrypted_keys(&self) -> &[Vec<u8>]

Returns the encrypted keys.

source

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.

source

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.

Auto Trait Implementations§

§

impl Freeze for Seal

§

impl RefUnwindSafe for Seal

§

impl Send for Seal

§

impl Sync for Seal

§

impl Unpin for Seal

§

impl UnwindSafe for Seal

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.