[][src]Struct sequoia_openpgp::packet::SKESK4

pub struct SKESK4 { /* fields omitted */ }

Holds an symmetrically encrypted session key version 4.

Holds an symmetrically encrypted session key. The session key is needed to decrypt the actual ciphertext. See Section 5.3 of RFC 4880 for details.

Methods

impl SKESK4[src]

pub fn new(
    version: u8,
    cipher: SymmetricAlgorithm,
    s2k: S2K,
    esk: Option<Vec<u8>>
) -> Result<SKESK4>
[src]

Creates a new SKESK version 4 packet.

The given symmetric algorithm must match the algorithm that is used to encrypt the payload, and is also used to encrypt the given session key.

pub fn with_password(
    algo: SymmetricAlgorithm,
    s2k: S2K,
    session_key: &SessionKey,
    password: &Password
) -> Result<SKESK4>
[src]

Creates a new SKESK4 packet with the given password.

The given symmetric algorithm must match the algorithm that is used to encrypt the payload, and is also used to encrypt the given session key.

pub fn version(&self) -> u8[src]

Gets the version.

pub fn symmetric_algo(&self) -> SymmetricAlgorithm[src]

Gets the symmetric encryption algorithm.

pub fn set_symmetric_algo(&mut self, algo: SymmetricAlgorithm)[src]

Sets the symmetric encryption algorithm.

pub fn s2k(&self) -> &S2K[src]

Gets the key derivation method.

pub fn set_s2k(&mut self, s2k: S2K)[src]

Sets the key derivation method.

pub fn esk(&self) -> Option<&[u8]>[src]

Gets the encrypted session key.

pub fn set_esk(&mut self, esk: Option<Vec<u8>>)[src]

Sets the encrypted session key.

pub fn to_packet(self) -> Packet[src]

Convert the SKESK4 struct to a Packet.

pub fn decrypt(
    &self,
    password: &Password
) -> Result<(SymmetricAlgorithm, SessionKey)>
[src]

Derives the key inside this SKESK4 from password. Returns a tuple of the symmetric cipher to use with the key and the key itself.

Trait Implementations

impl Serialize for SKESK4[src]

fn serialize<W: Write>(&self, o: &mut W) -> Result<()>[src]

Writes a serialized version of the specified SKESK packet to o.

Errors

Returns Error::InvalidArgument if invoked on a non-version 4 SKESK packet.

fn to_vec(&self) -> Result<Vec<u8>>[src]

Serializes the packet to a vector.

impl From<SKESK4> for Packet[src]

impl Eq for SKESK4[src]

impl PartialEq<SKESK4> for SKESK4[src]

impl Clone for SKESK4[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Hash for SKESK4[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

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

impl Debug for SKESK4[src]

impl Arbitrary for SKESK4[src]

fn shrink(&self) -> Box<dyn Iterator<Item = Self> + 'static>

Auto Trait Implementations

impl Send for SKESK4

impl !Sync for SKESK4

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.