[][src]Module vanity_gpg::gpg

GPGME wrapper

Just a simple GPGME Wrapper

Example

extern crate vanity_gpg;

use vanity_gpg::gpg::{GPG, Protocol, DeleteKeyFlags};

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 gpg = GPG::new(Protocol::OpenPgp, None, Some("./gpg")).unwrap();
let result = gpg.generate_key(ECC_PARAMS).unwrap();
let fingerprint = result.fingerprint().unwrap();
let key = gpg.get_key(fingerprint).unwrap();
let delete_flags = DeleteKeyFlags::all();
gpg.delete_key_with_flags(key, delete_flags).unwrap();

Structs

DeleteKeyFlags

Upstream documentation: gpgme_op_delete_ext

EngineInfo

Wrapped EngineInfo

GPG

Wrapped GPG

Key

Upstream documentation: gpgme_key_t

KeyGenerationResult

Wrapped KeyGenerationResult

Enums

Protocol

A cryptographic protocol that may be used with the library.