uselesskey 0.9.1

Deterministic cryptographic key and certificate fixtures for Rust tests. Seed-stable, cached, scanner-safe.
Documentation
//! Demonstrates building a JWKS from RSA and ECDSA public keys.
//!
//! Run with:
//! ```sh
//! cargo run -p uselesskey --example jwks --features "rsa,ecdsa,jwk"
//! ```

#[cfg(all(feature = "jwk", feature = "rsa", feature = "ecdsa"))]
fn main() {
    use uselesskey::jwk::JwksBuilder;
    use uselesskey::{EcdsaFactoryExt, EcdsaSpec, Factory, RsaFactoryExt, RsaSpec};

    let fx = Factory::random();
    let rsa = fx.rsa("issuer", RsaSpec::rs256());
    let ecdsa = fx.ecdsa("issuer-ec", EcdsaSpec::es256());

    let mut builder = JwksBuilder::new();
    builder.push_public(rsa.public_jwk());
    builder.push_public(ecdsa.public_jwk());

    let jwks = builder.build();
    println!("{jwks}");
}

#[cfg(not(all(feature = "jwk", feature = "rsa", feature = "ecdsa")))]
fn main() {
    eprintln!("Enable 'jwk', 'rsa', and 'ecdsa' features to run this example:");
    eprintln!("  cargo run -p uselesskey --example jwks --features \"rsa,ecdsa,jwk\"");
}