aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--key/box.go15
-rw-r--r--key/sig.go15
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[:])
-}