ssh_to_age/
lib.rs

1pub mod convert;
2
3#[cfg(test)]
4mod tests {
5    use super::*;
6
7    #[test]
8    fn test_ssh_pk_to_age() {
9        let result = convert::ssh_public_key_to_age(
10            "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICFrs5OngYGD5FHUaYqr3gAk7NApAuFCL3cVaHLSWRXL",
11        );
12        assert!(result.is_ok());
13        let recipient = result.unwrap();
14        assert_eq!(
15            recipient,
16            "age1wy42r2p2c67ckywgq8xj7ejf6eykqfu623wktxeh729rtagu4fkqrsqsg6"
17        );
18    }
19
20    #[test]
21    fn test_ssh_sk_to_age() {
22        let result = convert::ssh_private_key_to_age(
23            b"-----BEGIN OPENSSH PRIVATE KEY-----
24b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
25QyNTUxOQAAACAha7OTp4GBg+RR1GmKq94AJOzQKQLhQi93FWhy0lkVywAAAJDFKuT1xSrk
269QAAAAtzc2gtZWQyNTUxOQAAACAha7OTp4GBg+RR1GmKq94AJOzQKQLhQi93FWhy0lkVyw
27AAAECfpgF0oYy6xXA5JRzgTNwNYLcUIGlZhkOEDV7XRuIYWyFrs5OngYGD5FHUaYqr3gAk
287NApAuFCL3cVaHLSWRXLAAAADHJvb3RAb2N0b3B1cwE=
29-----END OPENSSH PRIVATE KEY-----",
30        );
31        assert!(result.is_ok());
32        let age = result.unwrap();
33        assert_eq!(
34            age.recipient,
35            "age1wy42r2p2c67ckywgq8xj7ejf6eykqfu623wktxeh729rtagu4fkqrsqsg6"
36        );
37        assert_eq!(
38            age.secret,
39            "AGE-SECRET-KEY-1GQ46Z46GKWWDXR6KF96CYS9DWHWJWCV4KCCE4HA0C7ZZUY74JFPSAC42H6"
40        );
41    }
42
43    #[test]
44    fn test_ssh_private_key_to_age_invalid_key() {
45        let invalid_key = b"not a valid private key";
46        let result = convert::ssh_private_key_to_age(invalid_key);
47        assert!(result.is_err());
48    }
49
50    #[test]
51    fn test_ssh_public_key_to_age_invalid_key() {
52        let invalid_key = "not a valid private key";
53        let result = convert::ssh_public_key_to_age(invalid_key);
54        assert!(result.is_err());
55    }
56}