openssl::envelope

Struct Open

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

Represents an EVP_Open context.

Implementations§

source§

impl Open

source

pub fn new<T>( cipher: Cipher, priv_key: &PKeyRef<T>, iv: Option<&[u8]>, encrypted_key: &[u8], ) -> Result<Open, ErrorStack>
where T: HasPrivate,

Creates a new Open.

source

pub fn update( &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.

source

pub fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack>

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.

Auto Trait Implementations§

§

impl Freeze for Open

§

impl RefUnwindSafe for Open

§

impl Send for Open

§

impl Sync for Open

§

impl Unpin for Open

§

impl UnwindSafe for Open

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.