rsa-pem/examples/generate.rs
2020-03-15 21:36:06 -05:00

30 lines
683 B
Rust

use anyhow::Error;
use rsa::RSAPrivateKey;
use rsa_pem::KeyExt;
#[derive(Clone, Debug, thiserror::Error)]
#[error("Error generating key")]
pub struct MyError;
fn main() -> Result<(), Error> {
let mut rng = rand::thread_rng();
let key = RSAPrivateKey::new(&mut rng, 2048).map_err(|_| MyError)?;
println!("PKCS1 - Private");
println!("{}", key.to_pem_pkcs1()?);
println!();
println!("PKCS8 - Private");
println!("{}", key.to_pem_pkcs8()?);
let key = key.to_public_key();
println!("PKCS1 - Public");
println!("{}", key.to_pem_pkcs1()?);
println!();
println!("PKCS8 - Public");
println!("{}", key.to_pem_pkcs8()?);
Ok(())
}