don't
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(auth): add `PublicKey::as_bytes()`

Signed-off-by: tjh <did:plc:65gha4t3avpfpzmvpbwovss7>

+26 -10
+26 -10
crates/auth/src/public_key.rs
··· 74 74 let (_, k) = multibase::decode(k)?; 75 75 Self::from_multicodec(&k) 76 76 } 77 + 78 + pub fn as_bytes(&self) -> &[u8] { 79 + match self { 80 + Self::P256(key) => key, 81 + Self::P384(key) => key, 82 + Self::P521(key) => key, 83 + Self::ES256K(key) => key, 84 + Self::Ed25519(key) => key, 85 + } 86 + .as_ref() 87 + } 77 88 } 78 89 79 90 impl TryFrom<VerificationMethod> for PublicKey { ··· 131 120 mod tests { 132 121 use super::PublicKey; 133 122 123 + const ED25519_PUB: &str = 124 + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINAIYaoz4/1EB5jTSGAPGX/ycIqYg36Zeu1yKhDYCDT+"; 125 + const ECDSA256_PUB: &str = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBNjmN1noKXdJdVOuqvGHGD/0xLFW349MM1L/dBcm7l+XNjoqne+p43K+3DzqdNyuAY3HqVFuWp3SJv4nudHEIc="; 126 + const ECDSA384_PUB: &str = "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBHODcK9/akFH4nzsZIurz0Xr+xMgftsWG/MQ2Ej1yU5kIzV4Uo3yWozv9zn04b6l7pobPGRkje6r/RtTmEviSiVpN5Hcoj/rMlZK15esmvKSIOsgqZnwFFGQtFIc+dcFmA=="; 127 + 134 128 #[test] 135 - fn parse_openssh_keys() { 129 + fn parse_openssh_ed25519() { 136 130 assert!(matches!( 137 - PublicKey::from_openssh( 138 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDbSa8zlBEys2kX9Rr1p0o28RpyVBT+2atNwC4pJNGeR", 139 - ), 131 + PublicKey::from_openssh(ED25519_PUB), 140 132 Ok(PublicKey::Ed25519(_)) 141 133 )); 134 + } 142 135 136 + #[test] 137 + fn parse_openssh_ecdsa256() { 143 138 assert!(matches!( 144 - PublicKey::from_openssh( 145 - "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBNjmN1noKXdJdVOuqvGHGD/0xLFW349MM1L/dBcm7l+XNjoqne+p43K+3DzqdNyuAY3HqVFuWp3SJv4nudHEIc=", 146 - ), 139 + PublicKey::from_openssh(ECDSA256_PUB), 147 140 Ok(PublicKey::P256(_)) 148 141 )); 142 + } 149 143 144 + #[test] 145 + fn parse_openssh_ecdsa384() { 150 146 assert!(matches!( 151 - PublicKey::from_openssh( 152 - "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBHODcK9/akFH4nzsZIurz0Xr+xMgftsWG/MQ2Ej1yU5kIzV4Uo3yWozv9zn04b6l7pobPGRkje6r/RtTmEviSiVpN5Hcoj/rMlZK15esmvKSIOsgqZnwFFGQtFIc+dcFmA==", 153 - ), 147 + PublicKey::from_openssh(ECDSA384_PUB), 154 148 Ok(PublicKey::P384(_)) 155 149 )); 156 150 }