Skip to main content

Crate uselesskey_pgp

Crate uselesskey_pgp 

Source
Expand description

OpenPGP fixtures built on uselesskey-core.

The main entry point is PgpFactoryExt, which adds .pgp() to Factory.

§Quick start

use uselesskey_core::Factory;
use uselesskey_pgp::{PgpFactoryExt, PgpSpec};

let fx = Factory::random();
let key = fx.pgp("deploy", PgpSpec::ed25519());

assert!(key.private_key_armored().contains("BEGIN PGP PRIVATE KEY BLOCK"));
assert!(key.public_key_armored().contains("BEGIN PGP PUBLIC KEY BLOCK"));
assert!(!key.fingerprint().is_empty());

§Available specs

ConstructorAlgorithm
PgpSpec::rsa_2048()RSA 2048-bit
PgpSpec::rsa_3072()RSA 3072-bit
PgpSpec::ed25519()Ed25519

§Negative fixtures

use uselesskey_core::Factory;
use uselesskey_core::negative::CorruptPem;
use uselesskey_pgp::{PgpFactoryExt, PgpSpec};

let fx = Factory::random();
let key = fx.pgp("deploy", PgpSpec::ed25519());

// Corrupt armored output
let bad = key.private_key_armored_corrupt(CorruptPem::BadBase64);
assert_ne!(bad, key.private_key_armored());

// Mismatched public key (valid but wrong)
let wrong_pub = key.mismatched_public_key_armored();
assert_ne!(wrong_pub, key.public_key_armored());

Structs§

PgpKeyPair

Enums§

PgpSpec
Specification for OpenPGP fixture generation.

Constants§

DOMAIN_PGP_KEYPAIR
Cache domain for OpenPGP keypair fixtures.

Traits§

PgpFactoryExt
Extension trait to hang OpenPGP helpers off the core Factory.