pub trait Export<A: Algorithm, P: Parts>: Borrow<AsymmetricKey<A, P>> {
type Blob: KeyBlob + BlobLayout;
// Provided method
fn export(&self) -> Result<Box<Blob<Self::Blob>>> { ... }
}
Expand description
Export asymmetric key to the raw key data format.
§Example
use win_crypto_ng::asymmetric::{AsymmetricAlgorithm, AsymmetricAlgorithmId};
use win_crypto_ng::asymmetric::{Algorithm, Rsa, Private, AsymmetricKey};
use win_crypto_ng::asymmetric::Export;
let pair = AsymmetricKey::builder(Rsa).key_bits(1024).build().unwrap();
let blob = pair.as_public().export().unwrap();
dbg!(blob.as_bytes());
let public = blob;
let pub_exp = public.pub_exp();
let modulus = public.modulus();
let private = pair.export().unwrap();
assert_eq!(pub_exp, private.pub_exp());
assert_eq!(modulus, private.modulus());