Enum sequoia_openpgp::parse::stream::MessageLayer

source ·
pub enum MessageLayer<'a> {
    Compression {
        algo: CompressionAlgorithm,
    },
    Encryption {
        sym_algo: SymmetricAlgorithm,
        aead_algo: Option<AEADAlgorithm>,
    },
    SignatureGroup {
        results: Vec<VerificationResult<'a>>,
    },
}
Expand description

Represents a layer of the message structure.

A valid OpenPGP message contains one literal data packet with optional encryption, signing, and compression layers freely combined on top (see Section 11.3 of RFC 4880). This enum represents the layers. The MessageStructure is communicated to the VerificationHelper::check. Iterating over the MessageStructure yields the individual message layers.

Variants§

§

Compression

Represents an compression container.

Compression is usually transparent in OpenPGP, though it may sometimes be interesting for advanced users to indicate that the message was compressed, and how (see Section 5.6 of RFC 4880).

Fields

§algo: CompressionAlgorithm

Compression algorithm used.

§

Encryption

Represents an encryption container.

Indicates the fact that the message was encrypted (see Section 5.13 of RFC 4880). If you expect encrypted messages, make sure that there is at least one encryption container present.

Fields

§sym_algo: SymmetricAlgorithm

Symmetric algorithm used.

§aead_algo: Option<AEADAlgorithm>

AEAD algorithm used, if any.

This feature is experimental.

§

SignatureGroup

Represents a signature group.

A signature group consists of all signatures with the same level (see Section 5.2 of RFC 4880). Each VerificationResult represents the result of a single signature verification. In your VerificationHelper::check method, iterate over the verification results, see if it meets your policies’ demands, and communicate it to the user, if applicable.

Fields

§results: Vec<VerificationResult<'a>>

The results of the signature verifications.

Trait Implementations§

source§

impl<'a> Debug for MessageLayer<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for MessageLayer<'a>

§

impl<'a> !RefUnwindSafe for MessageLayer<'a>

§

impl<'a> Send for MessageLayer<'a>

§

impl<'a> Sync for MessageLayer<'a>

§

impl<'a> Unpin for MessageLayer<'a>

§

impl<'a> !UnwindSafe for MessageLayer<'a>

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> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.