diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-04-11 16:21:47 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-04-11 16:21:47 -0400 |
| commit | 9f31d05492b560292e0f41eb129ddbe7b8ca8f3c (patch) | |
| tree | aae9ffccc6f33974af1014f7f4fe78a345297c83 /key/key.go | |
| parent | 67f29298ca79da839f4fdfe9ffad8d39a703b124 (diff) | |
| download | hose-9f31d05492b560292e0f41eb129ddbe7b8ca8f3c.zip | |
hex-encode keys
Diffstat (limited to 'key/key.go')
| -rw-r--r-- | key/key.go | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -1,6 +1,8 @@ package key import ( + "encoding/hex" + "fmt" "io" "os" ) @@ -21,9 +23,20 @@ func LoadPublicKey() ([32]byte, error) { defer f.Close() // Read key. - var pubkey [32]byte - if _, err := io.ReadFull(f, pubkey[:]); err != nil { + buf, err := io.ReadAll(f) + if err != nil { + return [32]byte{}, err + } + + // Decode. + var key [32]byte + if hex.DecodedLen(len(buf)) != len(key) { + return [32]byte{}, fmt.Errorf("malformed 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 pubkey, nil + + return key, nil } |