[][src]Enum sequoia_openpgp::SecretKey

pub enum SecretKey {
    Unencrypted {
        mpis: SecretKey,
    },
    Encrypted {
        s2k: S2K,
        algorithm: SymmetricAlgorithm,
        ciphertext: Box<[u8]>,
    },
}

Holds the secret potion of a OpenPGP secret key or secret subkey packet.

This type allows postponing the decryption of the secret key until we need to use it.

Variants

Unencrypted

Unencrypted secret key. Can be used as-is.

Fields of Unencrypted

mpis: SecretKey

MPIs of the secret key.

Encrypted

The secret key is encrypted with a password.

Fields of Encrypted

s2k: S2K

Key derivation mechanism to use.

algorithm: SymmetricAlgorithm

Symmetric algorithm used for encryption the secret key.

ciphertext: Box<[u8]>

Encrypted MPIs prefixed with the IV.

Methods

impl SecretKey[src]

pub fn decrypt(
    &self,
    pk_algo: PublicKeyAlgorithm,
    password: &Password
) -> Result<SecretKey>
[src]

Decrypts this secret key using password.

The SecretKey type does not know what kind of key it is, so pk_algo is needed to parse the correct number of MPIs.

pub fn decrypt_in_place(
    &mut self,
    pk_algo: PublicKeyAlgorithm,
    password: &Password
) -> Result<()>
[src]

Decrypts this secret key using password.

The SecretKey type does not know what kind of key it is, so pk_algo is needed to parse the correct number of MPIs.

pub fn is_encrypted(&self) -> bool[src]

Returns true if this secret key is encrypted.

Trait Implementations

impl Eq for SecretKey[src]

impl PartialEq<SecretKey> for SecretKey[src]

impl Clone for SecretKey[src]

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

Performs copy-assignment from source. Read more

impl Hash for SecretKey[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 SecretKey[src]

Auto Trait Implementations

impl Send for SecretKey

impl Sync for SecretKey

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.