ssh_keys/conversion.rs
1use {PrivateKey, PublicKey};
2
3
4impl PrivateKey {
5 /// Return public key for this private key
6 pub fn public_key(&self) -> PublicKey {
7 match self {
8 &PrivateKey::Ed25519(data) => {
9 let mut ar = [0u8; 32];
10 ar.copy_from_slice(&data[32..]);
11 PublicKey::Ed25519(ar)
12 }
13 &PrivateKey::Rsa { ref e, ref n, .. } => {
14 PublicKey::Rsa { exponent: e.clone(), modulus: n.clone() }
15 }
16 }
17 }
18}