withoutboats / pbp

pretty bad protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

pretty bad protocol

License:Apache License 2.0


Languages

Language:Rust 100.0%