aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-05 14:58:31 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-05 14:58:31 +0200
commit4865ac3532b1d54cfe99209e5e430182313cc9a9 (patch)
treeee04600e158da7929efe468f95005d0b5d717cc5
parent301e77606e15e631ea52fd5b0ec9a5d47af2ca4c (diff)
kiss
-rw-r--r--key/gen.go (renamed from key/key.go)18
-rw-r--r--key/gen_test.go (renamed from key/key_test.go)0
-rw-r--r--key/pub.go26
-rw-r--r--key/sec.go20
-rw-r--r--key/sig.go26
5 files changed, 61 insertions, 29 deletions
diff --git a/key/key.go b/key/gen.go
index 57bf301..39436a1 100644
--- a/key/key.go
+++ b/key/gen.go
@@ -2,10 +2,8 @@
package key
import (
- "bytes"
"crypto/rand"
"crypto/sha512"
- "encoding/binary"
"errors"
"golang.org/x/crypto/ed25519"
@@ -66,19 +64,3 @@ func Generate(der Deriver) (*Pub, *Sec, error) {
return pub, sec, nil
}
-
-func Unmarshal(data []byte, v interface{}) error {
- buf := bytes.NewReader(data)
- if err := binary.Read(buf, binary.BigEndian, v); err != nil {
- return err
- }
- return nil
-}
-
-func Marshal(v interface{}) ([]byte, error) {
- buf := new(bytes.Buffer)
- if err := binary.Write(buf, binary.BigEndian, v); err != nil {
- return nil, err
- }
- return buf.Bytes(), nil
-}
diff --git a/key/key_test.go b/key/gen_test.go
index 7f86b4e..7f86b4e 100644
--- a/key/key_test.go
+++ b/key/gen_test.go
diff --git a/key/pub.go b/key/pub.go
index a9e6390..aa23685 100644
--- a/key/pub.go
+++ b/key/pub.go
@@ -1,6 +1,11 @@
package key
-import "golang.org/x/crypto/ed25519"
+import (
+ "bytes"
+ "encoding/binary"
+
+ "golang.org/x/crypto/ed25519"
+)
type Pub struct {
PKAlg [2]byte
@@ -15,9 +20,6 @@ func (v *Pub) Validate() error {
return nil
}
-func (v *Pub) MarshalBinary() ([]byte, error) { return Marshal(v) }
-func (v *Pub) UnmarshalBinary(data []byte) error { return Unmarshal(data, v) }
-
// NewPub returns a parsed public key
func NewPub(data []byte) (*Pub, error) {
pub := new(Pub)
@@ -26,3 +28,19 @@ func NewPub(data []byte) (*Pub, error) {
}
return pub, pub.Validate()
}
+
+func (v *Pub) 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 *Pub) UnmarshalBinary(data []byte) error {
+ buf := bytes.NewReader(data)
+ if err := binary.Read(buf, binary.BigEndian, v); err != nil {
+ return err
+ }
+ return nil
+}
diff --git a/key/sec.go b/key/sec.go
index 6ae8c83..19b0e85 100644
--- a/key/sec.go
+++ b/key/sec.go
@@ -3,6 +3,7 @@ package key
import (
"bytes"
"crypto/sha512"
+ "encoding/binary"
"golang.org/x/crypto/ed25519"
)
@@ -38,9 +39,6 @@ func (v *Sec) Validate() error {
return nil
}
-func (v *Sec) MarshalBinary() ([]byte, error) { return Marshal(v) }
-func (v *Sec) UnmarshalBinary(data []byte) error { return Unmarshal(data, v) }
-
// Public key of secret key
func (v *Sec) Public() *Pub {
key := ed25519.PrivateKey(v.Key[:]).Public().(ed25519.PublicKey)
@@ -74,3 +72,19 @@ func NewSec(data []byte, der Deriver) (*Sec, error) {
}
return sec, sec.Validate()
}
+
+func (v *Sec) 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 *Sec) UnmarshalBinary(data []byte) error {
+ buf := bytes.NewReader(data)
+ if err := binary.Read(buf, binary.BigEndian, v); err != nil {
+ return err
+ }
+ return nil
+}
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
+}