[][src]Module rsa_export::pem

Encode a public/private key encoded with PKCS#1 or PKCS#8 into the PEM format Encode PKCS#1 or PKCS#8 encoded keys into the PEM format

use rsa::RSAPrivateKey;
use rand::rngs::OsRng;

fn main() {
    let mut rng = OsRng;
    let key = RSAPrivateKey::new(&mut rng, 2048).unwrap();

    let pkcs1_encoded_private = rsa_export::pkcs1::private_key(&key).unwrap();
    let pkcs1_encoded_public = rsa_export::pkcs1::public_key(&key.to_public_key()).unwrap();

    let pkcs8_encoded_private = rsa_export::pkcs8::private_key(&key).unwrap();
    let pkcs8_encoded_public = rsa_export::pkcs8::public_key(&key.to_public_key()).unwrap();

    use rsa_export::pem::EncodingScheme;

    let pkcs1_pem_encoded_private = rsa_export::pem::encode(EncodingScheme::PKCS1Private, pkcs1_encoded_private);
    let pkcs1_pem_encoded_public = rsa_export::pem::encode(EncodingScheme::PKCS1Public, pkcs1_encoded_public);

    let pkcs8_pem_encoded_private = rsa_export::pem::encode(EncodingScheme::PKCS8Private, pkcs8_encoded_private);
    let pkcs8_pem_encoded_public = rsa_export::pem::encode(EncodingScheme::PKCS8Public, pkcs8_encoded_public);
}

Enums

EncodingScheme

Supported encoding schmes

Functions

encode

Encode a PKCS#1 or PKCS#8 encoded key into the PEM format