ezidam/crates/jwt/src/key.rs

19 lines
476 B
Rust

use crate::Error;
use id::KeyID;
use jwt_compact::alg::{ModulusBits, Rsa};
mod private;
mod public;
pub use private::PrivateKey;
pub use public::PublicKey;
pub fn generate(id: &KeyID) -> Result<(PrivateKey, PublicKey), Error> {
let mut rng = rand::thread_rng();
let key_combo = Rsa::generate(&mut rng, ModulusBits::ThreeKibibytes)?;
let private = PrivateKey::new(id, key_combo.0);
let public = PublicKey::new(id, key_combo.1);
Ok((private, public))
}