deltachat::e2ee

Struct EncryptHelper

source
pub struct EncryptHelper {
    pub prefer_encrypt: EncryptPreference,
    pub addr: String,
    pub public_key: SignedPublicKey,
}

Fields§

§prefer_encrypt: EncryptPreference§addr: String§public_key: SignedPublicKey

Implementations§

source§

impl EncryptHelper

source

pub async fn new(context: &Context) -> Result<EncryptHelper>

source

pub fn get_aheader(&self) -> Aheader

source

pub fn should_encrypt( &self, context: &Context, e2ee_guaranteed: bool, peerstates: &[(Option<Peerstate>, String)], ) -> Result<bool>

Determines if we can and should encrypt.

For encryption to be enabled, e2ee_guaranteed should be true, or strictly more than a half of peerstates should prefer encryption. Own preference is counted equally to peer preferences, even if message copy is not sent to self.

e2ee_guaranteed should be set to true for replies to encrypted messages (as required by Autocrypt Level 1, version 1.1) and for messages sent in protected groups.

Returns an error if e2ee_guaranteed is true, but one or more keys are missing.

source

pub async fn encrypt( self, context: &Context, verified: bool, mail_to_encrypt: PartBuilder, peerstates: Vec<(Option<Peerstate>, String)>, compress: bool, ) -> Result<String>

Tries to encrypt the passed in mail.

source

pub async fn sign( self, context: &Context, mail: PartBuilder, ) -> Result<(MimeMessage, String)>

Signs the passed-in mail using the private key from context. Returns the payload and the signature.

Trait Implementations§

source§

impl Debug for EncryptHelper

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T