From 4865ac3532b1d54cfe99209e5e430182313cc9a9 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 5 Aug 2017 14:58:31 +0200 Subject: kiss --- key/sig.go | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'key/sig.go') diff --git a/key/sig.go b/key/sig.go index 378a0cf..649133e 100644 --- a/key/sig.go +++ b/key/sig.go @@ -1,6 +1,11 @@ package key -import "golang.org/x/crypto/ed25519" +import ( + "bytes" + "encoding/binary" + + "golang.org/x/crypto/ed25519" +) type Sig struct { PKAlg [2]byte @@ -26,9 +31,6 @@ func (v *Sig) Verify(message []byte, pub *Pub) error { return nil } -func (v *Sig) MarshalBinary() ([]byte, error) { return Marshal(v) } -func (v *Sig) UnmarshalBinary(data []byte) error { return Unmarshal(data, v) } - // NewSig return parsed signature func NewSig(data []byte) (*Sig, error) { sig := new(Sig) @@ -37,3 +39,19 @@ func NewSig(data []byte) (*Sig, error) { } return sig, sig.Validate() } + +func (v *Sig) MarshalBinary() ([]byte, error) { + buf := new(bytes.Buffer) + if err := binary.Write(buf, binary.BigEndian, v); err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +func (v *Sig) UnmarshalBinary(data []byte) error { + buf := bytes.NewReader(data) + if err := binary.Read(buf, binary.BigEndian, v); err != nil { + return err + } + return nil +} -- cgit v1.2.3