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

impl Debug for SecretKey[src]

impl Eq for SecretKey[src]

impl Hash for SecretKey[src]

impl PartialEq<SecretKey> for SecretKey[src]

impl StructuralEq for SecretKey[src]

impl StructuralPartialEq for SecretKey[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.