Struct btlib::crypto::Envelope

source ·
pub struct Envelope<T> { /* private fields */ }
Expand description

A struct which contains the cipher text for a message along with the ciphertext of the key that was used to encrypt the message. This is useful for encrypting messages that are too long to be encrypted using an asymmetric encryption scheme.

Implementations§

source§

impl<T: Serialize + DeserializeOwned> Envelope<T>

source

pub fn new<E: Encrypter>(plaintext: &T, encrypter: E) -> Result<Envelope<T>>

Creates a new Envelope containing plaintext whose symmetric key is encrypted using encrypter.

source

pub fn open<D: Decrypter>(&self, decrypter: D) -> Result<T>

Uses decrypter to decrypt the key in this Envelope and uses this key to decrypt and return the original message.

Trait Implementations§

source§

impl<'de, T> Deserialize<'de> for Envelope<T>where T: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Serialize for Envelope<T>where T: Serialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Envelope<T>where T: RefUnwindSafe,

§

impl<T> Send for Envelope<T>where T: Send,

§

impl<T> Sync for Envelope<T>where T: Sync,

§

impl<T> Unpin for Envelope<T>where T: Unpin,

§

impl<T> UnwindSafe for Envelope<T>where T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Free for T

§

unsafe default fn free(ptr_ref: NonNull<T>)

Drops the content pointed by this pointer and frees it. 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,