vanity_ssh_rs/core/keypair.rs
1use ed25519_dalek::{SigningKey, VerifyingKey};
2use rand::rngs::OsRng;
3
4pub struct KeyPair {
5 pub public_key: VerifyingKey,
6 pub private_key: SigningKey,
7}
8
9pub fn generate_keypair() -> KeyPair {
10 let mut csprng = OsRng;
11 let private_key = SigningKey::generate(&mut csprng);
12 let public_key = private_key.verifying_key();
13
14 KeyPair {
15 public_key,
16 private_key,
17 }
18}