From 86044db4f41178dd19ad9a00d82b57970cc0dbb9 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 18 Jul 2017 01:23:30 +0200 Subject: Unmarshaler --- key/enc.go | 6 +++++- key/pub.go | 6 +++++- key/sig.go | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'key') diff --git a/key/enc.go b/key/enc.go index 2f2d48d..6ade4f6 100644 --- a/key/enc.go +++ b/key/enc.go @@ -41,9 +41,13 @@ func (v *Enc) MarshalBinary() ([]byte, error) { return Marshal(v) } +func (v *Enc) UnmarshalBinary(data []byte) error { + return Unmarshal(data, v) +} + func ParseEnc(data []byte, d KeyDeriver) (*Enc, error) { var enc *Enc - if err := Unmarshal(data, enc); err != nil { + if err := enc.UnmarshalBinary(data); err != nil { return nil, err } if d != nil && enc.KDFRounds > 0 { diff --git a/key/pub.go b/key/pub.go index bc94e30..6e3784e 100644 --- a/key/pub.go +++ b/key/pub.go @@ -29,9 +29,13 @@ func (v *Pub) MarshalBinary() ([]byte, error) { return Marshal(v) } +func (v *Pub) UnmarshalBinary(data []byte) error { + return Unmarshal(data, v) +} + func ParsePub(data []byte) (*Pub, error) { var pub *Pub - if err := Unmarshal(data, pub); err != nil { + if err := pub.UnmarshalBinary(data); err != nil { return nil, err } return pub, pub.Check() diff --git a/key/sig.go b/key/sig.go index ecd02c6..73379cf 100644 --- a/key/sig.go +++ b/key/sig.go @@ -19,9 +19,13 @@ func (v *Sig) MarshalBinary() ([]byte, error) { return Marshal(v) } +func (v *Sig) UnmarshalBinary(data []byte) error { + return Unmarshal(data, v) +} + func ParseSig(data []byte) (*Sig, error) { var sig *Sig - if err := Unmarshal(data, sig); err != nil { + if err := sig.UnmarshalBinary(data); err != nil { return nil, err } return sig, sig.Check() -- cgit v1.2.3