[][src]Struct sequoia_openpgp::tpk::TPKBuilder

pub struct TPKBuilder { /* fields omitted */ }

Simplifies generation of Keys.

Builder to generate complex TPK hierarchies with multiple user IDs.


impl TPKBuilder[src]

pub fn new() -> Self[src]

Returns a new TPKBuilder.

The returned TPKBuilder is setup to only create a certification-capable primary key using the default cipher suite. You'll almost certainly want to add subkeys (using TPKBuilder::add_signing_subkey, or TPKBuilder::add_encryption_subkey, for instance), and user ids (using TPKBuilder::add_userid).

pub fn general_purpose<C, U>(ciphersuite: C, userids: Option<U>) -> Self where
    C: Into<Option<CipherSuite>>,
    U: Into<UserID>, 

Generates a general-purpose key.

The key's primary key is certification- and signature-capable. The key has one subkey, an encryption-capable subkey.

pub fn autocrypt<'a, V, U>(version: V, userid: Option<U>) -> Self where
    V: Into<Option<Autocrypt>>,
    U: Into<UserID>, 

Generates a key compliant to Autocrypt.

If no version is given the latest one is used.

The autocrypt specification requires a UserID. However, because it can be useful to add the UserID later, it is permitted to be none.

pub fn set_cipher_suite(self, cs: CipherSuite) -> Self[src]

Sets the encryption and signature algorithms for primary and all subkeys.

pub fn add_userid<'a, U>(self, uid: U) -> Self where
    U: Into<UserID>, 

Adds a new user ID. The first user ID added will be the primary user ID.

pub fn add_user_attribute<'a, U>(self, ua: U) -> Self where
    U: Into<UserAttribute>, 

Adds a new user attribute.

pub fn add_signing_subkey(self) -> Self[src]

Adds a signing capable subkey.

pub fn add_encryption_subkey(self) -> Self[src]

Adds an encryption capable subkey.

pub fn add_certification_subkey(self) -> Self[src]

Adds an certification capable subkey.

pub fn add_subkey(self, flags: KeyFlags) -> Self[src]

Adds a custom subkey

pub fn primary_keyflags(self, flags: KeyFlags) -> Self[src]

Sets the capabilities of the primary key. The function automatically makes the primary key certification capable if subkeys are added.

pub fn set_password(self, password: Option<Password>) -> Self[src]

Sets a password to encrypt the secret keys with.

pub fn set_expiration<T>(self, expiration: T) -> Self where
    T: Into<Option<Duration>>, 

Sets the expiration time.

A value of None means never.

pub fn generate(self) -> Result<(TPK, Signature)>[src]

Generates the actual TPK.

Trait Implementations

impl Clone for TPKBuilder[src]

impl Debug for TPKBuilder[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

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

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,