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

Reference: https://tools.ietf.org/html/rfc3447#appendix-A.1

Note: Multi-prime keys are not supported

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

Example:

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

let mut rng = OsRng; let key = RSAPrivateKey::new(&mut rng, 2048).unwrap(); let privatekey = rsaexport::RsaKey::new(key); let publickey = privatekey.public_key();

let pkcs1encodedprivate = privatekey.aspkcs1().unwrap(); let pkcs1encodedpublic = publickey.aspkcs1().unwrap();

let pkcs8encodedprivate = privatekey.aspkcs8().unwrap(); let pkcs8encodedpublic = publickey.aspkcs8().unwrap(); ```

Encode PKCS#1 or PKCS#8 encoded keys into the PEM format (with the pem feature enabled)

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

let mut rng = OsRng; let key = RSAPrivateKey::new(&mut rng, 2048).unwrap(); let privatekey = rsaexport::RsaKey::new(key); let publickey = privatekey.public_key();

let pkcs1encodedprivatepem = privatekey.aspkcs1pem().unwrap(); let pkcs1encodedpublicpem = publickey.aspkcs1pem().unwrap();

let pkcs8encodedprivatepem = privatekey.aspkcs8pem().unwrap(); let pkcs8encodedpublicpem = publickey.aspkcs8pem().unwrap(); ```