From bd19c3639ab350f9c0acf2517d8fcb0f1725a012 Mon Sep 17 00:00:00 2001 From: Aaron Kaiser Date: Mon, 6 May 2024 10:44:04 +0200 Subject: [PATCH] feat: add trait to convert slice into X25519PublicKey --- src/lib.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index d58a80c..98f4767 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -23,6 +23,14 @@ pub struct X25519PubKey<'a>(SharedPtr<'a, 32>); #[derive(Debug)] pub struct X25519SharedKey<'a>(SharedPtr<'a, 32>); +impl From<&[u8; 32]> for X25519PubKey<'_> { + fn from(value: &[u8; 32]) -> Self { + let mut pk = SharedPtr::<32>::new().unwrap(); + pk.copy_from_slice(value); + X25519PubKey(pk) + } +} + pub fn x25519_keygen<'a>() -> (X25519PrivKey<'a>, X25519PubKey<'a>) { let sk = X25519PrivKey(SharedPtr::<8>::new().unwrap()); let pk = X25519PubKey(SharedPtr::<32>::new().unwrap());