scsys_crypto/keys/
mod.rs

1/*
2    Appellation: crypto <module>
3    Contributors: FL03 <jo3mccain@icloud.com>
4    Description:
5        ... Summary ...
6*/
7pub use self::{keypair::*, public_key::*, secret_key::*, utils::*};
8
9pub(crate) mod keypair;
10pub(crate) mod public_key;
11pub(crate) mod secret_key;
12
13pub(crate) mod utils {
14    use ring::{rand::SystemRandom, signature::Ed25519KeyPair};
15
16    /// Generate a random key pair.
17    pub fn random_keypair() -> Ed25519KeyPair {
18        Ed25519KeyPair::from_pkcs8(generate_random_pkcs8().as_ref()).unwrap()
19    }
20
21    pub fn generate_random_pkcs8() -> ring::pkcs8::Document {
22        Ed25519KeyPair::generate_pkcs8(&SystemRandom::new()).unwrap()
23    }
24}