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}