rsa_export allows you to export your RSA key, generated via the rsa crate, with PKCS#1 or PKCS#8 encoding

Note: Multi-prime keys are not supported

The keys can also be exported into the PEM format by enabling the feature pem_export

Example:

```rust 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();

} ```

Encode PKCS#1 or PKCS#8 encoded keys into the PEM format with the pem_export feature enabled

```rust 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);

} ```