pbp

Crates.iopbp
lib.rspbp
version0.4.0
sourcesrc
created_at2017-11-24 03:35:49.310258
updated_at2018-07-20 14:38:08.751821
descriptionbridge non-PGP system to PGP data format
homepage
repositoryhttps://github.com/withoutboats/pbp
max_upload_size
id40362
size50,069
srrrse (withoutboats)

documentation

README

pbp - Pretty Bad Protocol

This crate lets you generate OpenPGP datagrams from ed25519 keys and signatures; it is intended to bridge from a non-PGP system to a transport medium that expects PGP data.

fn print_key(keypair: KeyPair) {
    let pgp_key = PgpKey::new(&keypair.public[..], "user id string", |data| {
        keypair.sign(data).to_bytes()
    });
    println!("{}", pgp_key);
}

It's agnostic about what library you use to implement ed25519, but it has a feature which integrates with ed25519-dalek

Thanks to isis lovecruft and Henry de Valence for assistance with the dalek API and understanding the OpenPGP specification.

Demonstration

The "print" example prints an ASCII armored OpenPGP public key to stdout; you can check that using:

$ cargo run --features dalek --example print
Commit count: 21

cargo fmt