aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-04-14 18:24:23 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-04-14 18:24:23 +0200
commit23cdde3d53d400643521f863e313d5b3efca0108 (patch)
tree42bb5c0041342c82efab716c1182a9d840a0423d
parente9b8a2ef2b5faf2a251665868074e1dc99f01eb5 (diff)
Move around
-rw-r--r--base64.go28
-rw-r--r--gen.go4
-rw-r--r--keys.go23
-rw-r--r--keys_test.go16
-rw-r--r--main.go2
-rw-r--r--pbkdf.go13
6 files changed, 34 insertions, 52 deletions
diff --git a/base64.go b/base64.go
deleted file mode 100644
index c2ba2eb..0000000
--- a/base64.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package main
-
-import (
- "bytes"
- "encoding/base64"
- "encoding/binary"
-)
-
-func DecodeB64(v interface{}, b []byte) error {
- buf := bytes.NewReader(b)
- dec := base64.NewDecoder(base64.StdEncoding, buf)
- if err := binary.Read(dec, binary.BigEndian, v); err != nil {
- return err
- }
- return nil
-}
-
-func EncodeB64(v interface{}) ([]byte, error) {
- buf := new(bytes.Buffer)
- enc := base64.NewEncoder(base64.StdEncoding, buf)
- if err := binary.Write(enc, binary.BigEndian, v); err != nil {
- return nil, err
- }
- if err := enc.Close(); err != nil {
- return nil, err
- }
- return buf.Bytes(), nil
-}
diff --git a/gen.go b/gen.go
index 23639aa..4c52cc9 100644
--- a/gen.go
+++ b/gen.go
@@ -24,7 +24,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error {
rand.Read(enckey.Salt[:])
copy(enckey.Checksum[:], digest[:len(enckey.Checksum)])
- sb64, err := EncodeB64(enckey)
+ sb64, err := Marshal(enckey)
if err != nil {
return err
}
@@ -42,7 +42,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error {
copy(pubkey.KeyNum[:], enckey.KeyNum[:])
copy(pubkey.PubKey[:], pub[:])
- pb64, err := EncodeB64(enckey)
+ pb64, err := Marshal(enckey)
if err != nil {
return err
}
diff --git a/keys.go b/keys.go
index 0248a4b..896f1e8 100644
--- a/keys.go
+++ b/keys.go
@@ -3,6 +3,8 @@ package main
import (
"bytes"
"crypto/sha512"
+ "encoding/base64"
+ "encoding/binary"
"dim13.org/signify/bhash"
@@ -55,3 +57,24 @@ func (v *EncKey) IsValid(pass []byte) bool {
sum := sha512.Sum512(v.SecKey[:])
return bytes.Equal(sum[:len(v.Checksum)], v.Checksum[:])
}
+
+func Unmarshal(v interface{}, b []byte) error {
+ buf := bytes.NewReader(b)
+ dec := base64.NewDecoder(base64.StdEncoding, buf)
+ if err := binary.Read(dec, binary.BigEndian, v); err != nil {
+ return err
+ }
+ return nil
+}
+
+func Marshal(v interface{}) ([]byte, error) {
+ buf := new(bytes.Buffer)
+ enc := base64.NewEncoder(base64.StdEncoding, buf)
+ if err := binary.Write(enc, binary.BigEndian, v); err != nil {
+ return nil, err
+ }
+ if err := enc.Close(); err != nil {
+ return nil, err
+ }
+ return buf.Bytes(), nil
+}
diff --git a/keys_test.go b/keys_test.go
index 7c02b8f..283c674 100644
--- a/keys_test.go
+++ b/keys_test.go
@@ -8,8 +8,8 @@ import (
func TestUnmarshalSig(t *testing.T) {
b64sig := []byte(`RWRbOC0bBf7abaGwGtq45KLDK63tgcF7CO4qTZSlTKCSbZTYlDfFm/DISQ60u+/jEzrk22suvXXAEsxQTe2xUOfV90get1YRGQo=`)
v := new(Sig)
- DecodeB64(v, b64sig)
- out, _ := EncodeB64(v)
+ Unmarshal(v, b64sig)
+ out, _ := Marshal(v)
if !bytes.Equal(b64sig, out) {
t.Errorf("want %v, got %v", b64sig, out)
}
@@ -19,8 +19,8 @@ func TestUnmarshalSig(t *testing.T) {
func TestUnmarshalPub(t *testing.T) {
b64pub := []byte(`RWRbOC0bBf7abfanaXuTYfCa6+YO69Kxyz8RD5nL/3Ta7umY6iOwnBrG`)
v := new(PubKey)
- DecodeB64(v, b64pub)
- out, _ := EncodeB64(v)
+ Unmarshal(v, b64pub)
+ out, _ := Marshal(v)
if !bytes.Equal(b64pub, out) {
t.Errorf("want %v, got %v", b64pub, out)
}
@@ -30,8 +30,8 @@ func TestUnmarshalPub(t *testing.T) {
func TestUnmarshalEnc(t *testing.T) {
b64enc := []byte(`RWRCSwAAAACzJBN2gC5//jVvDiV76rs4m2aKXkljqDpbOC0bBf7abZhV/Zygr6b0KIbSI56JQutwzsQeouxnnHuVTZp3IW4M9qdpe5Nh8Jrr5g7r0rHLPxEPmcv/dNru6ZjqI7CcGsY=`)
v := new(EncKey)
- DecodeB64(v, b64enc)
- out, _ := EncodeB64(v)
+ Unmarshal(v, b64enc)
+ out, _ := Marshal(v)
if !bytes.Equal(b64enc, out) {
t.Errorf("want %v, got %v", b64enc, out)
}
@@ -44,8 +44,8 @@ func TestUnmarshalEnc(t *testing.T) {
func TestUnmarshalKDF(t *testing.T) {
b64enc := []byte(`RWRCSwAAACoXv4r2lp3RYYLEWZRsY+1Z+1mJtEScNBaKdOKcMdhUHrztnf8a4sUNGY19MoV3wX2cyW2Mn1MduKxi9s3Se070TGF0IZG/hH4SKiNUYi+yi1mandWAwmhY3ahIHApigTk=`)
v := new(EncKey)
- DecodeB64(v, b64enc)
- out, _ := EncodeB64(v)
+ Unmarshal(v, b64enc)
+ out, _ := Marshal(v)
if !bytes.Equal(b64enc, out) {
t.Errorf("want %v, got %v", b64enc, out)
}
diff --git a/main.go b/main.go
index 4027a5a..bf50d90 100644
--- a/main.go
+++ b/main.go
@@ -57,6 +57,6 @@ func main() {
PKAlg: PKAlg,
}
rand.Read(ss.KeyNum[:])
- ms, _ := EncodeB64(ss)
+ ms, _ := Marshal(ss)
fmt.Println(string(ms))
}
diff --git a/pbkdf.go b/pbkdf.go
deleted file mode 100644
index 9b868e4..0000000
--- a/pbkdf.go
+++ /dev/null
@@ -1,13 +0,0 @@
-package main
-
-import (
- "crypto/sha512"
-
- "golang.org/x/crypto/pbkdf2"
-)
-
-// bcrypt_pbkdf
-
-func Key(password, salt []byte, iter, keyLen int) []byte {
- return pbkdf2.Key(password, salt, iter, keyLen, sha512.New)
-}