pub enum MessageLayer<'a> {
Compression {
algo: CompressionAlgorithm,
},
Encryption {
sym_algo: SymmetricAlgorithm,
aead_algo: Option<AEADAlgorithm>,
},
SignatureGroup {
results: Vec<Result<GoodChecksum<'a>, VerificationError<'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 10.3 of RFC 9580). 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 a 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 9580).
Fields
algo: CompressionAlgorithmCompression algorithm used.
Encryption
Represents an encryption container.
Indicates the fact that the message was encrypted (see Section 5.13 of RFC 9580). If you expect encrypted messages, make sure that there is at least one encryption container present.
Fields
sym_algo: SymmetricAlgorithmSymmetric algorithm used.
aead_algo: Option<AEADAlgorithm>AEAD algorithm used, if any.
SignatureGroup
Represents a signature group.
A signature group consists of all signatures with the same
level (see Section 5.2 of RFC 9580). 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<Result<GoodChecksum<'a>, VerificationError<'a>>>The results of the signature verifications.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for MessageLayer<'a>
impl<'a> !UnwindSafe for MessageLayer<'a>
impl<'a> Freeze for MessageLayer<'a>
impl<'a> Send for MessageLayer<'a>
impl<'a> Sync for MessageLayer<'a>
impl<'a> Unpin for MessageLayer<'a>
impl<'a> UnsafeUnpin for MessageLayer<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more