From e8e85bb2103d4679a5a0bca8ee175db0c1199b4f Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Wed, 16 Apr 2025 16:54:57 -0400 Subject: key decoding functions --- key/box.go | 15 +++++++++------ key/sig.go | 15 +++++++++------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/key/box.go b/key/box.go index 05d8991..38997eb 100644 --- a/key/box.go +++ b/key/box.go @@ -60,18 +60,21 @@ func loadBoxKey(filename string) ([32]byte, error) { } // Decode key. + return decodeBoxKey(buf) +} + +func (bpk1 BoxPublicKey) Compare(bpk2 BoxPublicKey) int { + return bytes.Compare(bpk1[:], bpk2[:]) +} + +func decodeBoxKey(buf []byte) ([32]byte, error) { var key [32]byte if hex.DecodedLen(len(buf)) != len(key) { - return [32]byte{}, fmt.Errorf("malformed key: expected %d bytes; got %d", + return [32]byte{}, fmt.Errorf("malformed box key: expected %d bytes; got %d", len(key), hex.DecodedLen(len(buf))) } if _, err := hex.Decode(key[:], buf); err != nil { return [32]byte{}, err } - return key, nil } - -func (bpk1 BoxPublicKey) Compare(bpk2 BoxPublicKey) int { - return bytes.Compare(bpk1[:], bpk2[:]) -} diff --git a/key/sig.go b/key/sig.go index c0bc515..6be68f9 100644 --- a/key/sig.go +++ b/key/sig.go @@ -37,18 +37,21 @@ func LoadSigPublicKey() (SigPublicKey, error) { } // Decode key. + return decodeSigPublicKey(buf) +} + +func (spk1 SigPublicKey) Compare(spk2 SigPublicKey) int { + return bytes.Compare(spk1[:], spk2[:]) +} + +func decodeSigPublicKey(buf []byte) (SigPublicKey, error) { var key SigPublicKey if hex.DecodedLen(len(buf)) != len(key) { - return SigPublicKey{}, fmt.Errorf("malformed key: expected %d bytes; got %d", + return SigPublicKey{}, fmt.Errorf("malformed signature verification key: expected %d bytes; got %d", len(key), hex.DecodedLen(len(buf))) } if _, err := hex.Decode(key[:], buf); err != nil { return SigPublicKey{}, err } - return key, nil } - -func (spk1 SigPublicKey) Compare(spk2 SigPublicKey) int { - return bytes.Compare(spk1[:], spk2[:]) -} -- cgit v1.2.3