From 08e599e59a28ff9e91e27daa051ffb15f6b18ca8 Mon Sep 17 00:00:00 2001 From: Haris Khan Date: Mon, 18 Nov 2024 12:34:03 -0500 Subject: [PATCH] create Ed25519PublicKeyFromBytes --- lib/crypto/ed25519.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/crypto/ed25519.go b/lib/crypto/ed25519.go index acd57c3..7cad633 100644 --- a/lib/crypto/ed25519.go +++ b/lib/crypto/ed25519.go @@ -243,3 +243,16 @@ func (s *Ed25519Signer) SignHash(h []byte) (sig []byte, err error) { log.WithField("signature_length", len(sig)).Debug("Ed25519 signature created successfully") return } + +func CreateEd25519PublicKeyFromBytes(data []byte) (Ed25519PublicKey, error) { + log.WithField("data_length", len(data)).Debug("Creating Ed25519 public key") + + if len(data) != ed25519.PublicKeySize { + log.WithField("data_length", len(data)).Error("Invalid Ed25519 public key size") + return nil, ErrInvalidPublicKeySize + } + + // Return the Ed25519 public key + log.Debug("Ed25519 public key created successfully") + return Ed25519PublicKey(data), nil +}