From 7b7ad13622c5c68bbb770d980f42bd6448628b5d Mon Sep 17 00:00:00 2001 From: David Stainton Date: Sun, 26 May 2024 09:52:47 -0700 Subject: [PATCH] fix ed25519 scheme serialization --- sign/ed25519/eddsa.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sign/ed25519/eddsa.go b/sign/ed25519/eddsa.go index b454ef7..253c4f6 100644 --- a/sign/ed25519/eddsa.go +++ b/sign/ed25519/eddsa.go @@ -19,6 +19,7 @@ import ( "github.com/katzenpost/hpqc/nike/x25519" "github.com/katzenpost/hpqc/rand" "github.com/katzenpost/hpqc/sign" + "github.com/katzenpost/hpqc/sign/pem" "github.com/katzenpost/hpqc/util" ) @@ -284,15 +285,16 @@ func (p *PublicKey) UnmarshalBinary(data []byte) error { } func (p *PublicKey) MarshalText() (text []byte, err error) { - return []byte(base64.StdEncoding.EncodeToString(p.Bytes())), nil + return pem.ToPublicPEMBytes(p), nil } func (p *PublicKey) UnmarshalText(text []byte) error { - raw, err := base64.StdEncoding.DecodeString(string(text)) + pubkey, err := pem.FromPublicPEMString(string(text), p.Scheme()) if err != nil { return err } - return p.FromBytes(raw) + p = pubkey.(*PublicKey) + return nil } // NewKeypair generates a new PrivateKey sampled from the provided entropy