#pgp #key #ed25519-key #expect #data #system #bridge

nightly pbp

将非PGP系统桥接到PGP数据格式

6个版本 (3个重大更改)

0.4.0 2018年7月20日
0.3.1 2018年6月15日
0.2.0 2018年6月8日
0.1.1 2018年2月8日
0.1.0 2017年11月24日

#2340 in 密码学


用于 bpb

MIT/Apache

32KB
624 代码行

pbp - 很糟糕的协议

此crate允许您从ed25519密钥和签名生成OpenPGP数据报;它旨在将非PGP系统桥接到期望PGP数据的传输介质。

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

它对您使用哪个库来实现ed25519无关紧要,但它有一个与ed25519-dalek集成的功能

感谢isis lovecruft和Henry de Valence在dalek API和OpenPGP规范理解方面的协助。

演示

"打印"示例将ASCII武装的OpenPGP公钥打印到stdout;您可以使用以下内容进行检查

$ cargo run --features dalek --example print

lib.rs:

此库旨在将非PGP生成和验证的密钥和签名与期望PGP数据的通道集成。它仅支持ed25519签名方案。

有时您可能需要签名数据,但您唯一合理地可以发送签名和公钥的通道期望它们是PGP格式。如果您不想使用像gpg这样的重量级依赖项,此库仅支持传输您的密钥和签名的PGP格式的最小必要组件。

依赖项

~0.8–1.9MB
~39K SLoC