[][src]Crate vanity_gpg

VanityGPG

The underlying GPGME wrapper and hooking mechanism.

Examples

extern crate vanity_gpg;

use vanity_gpg::{KeyGenerationResult, Protocol, VanityGPG};

const ECC_PARAMS: &'static str = r#"
    <GnupgKeyParms format="internal">
        Key-Type: EdDSA
        Key-Curve: ed25519
        Key-Usage: sign
        Subkey-Type: ECDH
        Subkey-Curve: Curve25519
        Subkey-Usage: encrypt
        Name-Real: Kay Lin
        Name-Email: i@v2bv.net
        Expire-Date: 0
        Passphrase: 114514
    </GnupgKeyParms>
"#;

let mut vanity_gpg =
    VanityGPG::new(0, Protocol::OpenPgp, None, Some("./gpg"), ECC_PARAMS).unwrap();
vanity_gpg.register_hook(|result: &KeyGenerationResult| {
    assert!(result.has_primary_key());
    false
});
vanity_gpg.try_once().unwrap();

Re-exports

pub use gpg::KeyGenerationResult;

Modules

gpg

GPGME wrapper

Structs

VanityGPG

VanityGPG generator

Enums

Protocol

A cryptographic protocol that may be used with the library.

Traits

Hook

Hook trait