logo
#[non_exhaustive]
pub enum PKESK {
    V3(PKESK3),
}
Expand description

Holds an asymmetrically encrypted session key.

The session key is used to decrypt the actual ciphertext, which is typically stored in a SEIP or AED packet. See Section 5.1 of RFC 4880 for details.

A PKESK packet is not normally instantiated directly. In most cases, you’ll create one as a side-effect of encrypting a message using the streaming serializer, or parsing an encrypted message using the PacketParser.

Note: This enum cannot be exhaustively matched to allow future extensions.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

V3(PKESK3)

PKESK packet version 3.

Implementations

Gets the version.

Methods from Deref<Target = PKESK3>

Gets the recipient.

Sets the recipient.

Gets the public key algorithm.

Sets the public key algorithm.

Gets the encrypted session key.

Sets the encrypted session key.

Decrypts the encrypted session key.

If the symmetric algorithm used to encrypt the message is known in advance, it should be given as argument. This allows us to reduce the side-channel leakage of the decryption operation for RSA.

Returns the session key and symmetric algorithm used to encrypt the following payload.

Returns None on errors. This prevents leaking information to an attacker, which could lead to compromise of secret key material with certain algorithms (RSA). See Section 14 of RFC 4880.

Trait Implementations

Attempts to downcast to T, returning the packet if it fails. Read more

Attempts to downcast to &T, returning None if it fails. Read more

Attempts to downcast to &mut T, returning None if it fails. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

Performs the conversion.

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

Implement IntoIterator so that cert::insert_packets(sig) just works.

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

Writes a serialized version of the object to o.

Exports a serialized version of the object to o. Read more

Computes the maximal length of the serialized representation. Read more

Serializes into the given buffer. Read more

Serializes the packet to a vector.

Exports into the given buffer. Read more

Exports to a vector. Read more

Reads from the given reader.

Reads from the given file. Read more

Reads from the given slice. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.