aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-04-19 13:59:01 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-04-19 13:59:01 +0200
commit60f50b4eebf8e75a4aebf3f8068088ae1a9c4cfe (patch)
treea7e9e9325b1aada187fad898720840f6d6232adb
parent8d1fc8251cba775ea1adaeac296d6e8973fc7c7e (diff)
reorder
-rw-r--r--keys.go22
1 files changed, 9 insertions, 13 deletions
diff --git a/keys.go b/keys.go
index c340e96..1183b81 100644
--- a/keys.go
+++ b/keys.go
@@ -100,28 +100,24 @@ func Marshal(v interface{}) ([]byte, error) {
}
func NewKey() (PubKey, EncKey, error) {
- pub, sec, err := ed25519.GenerateKey(rand.Reader)
- if err != nil {
- return PubKey{}, EncKey{}, err
- }
var keyNum uint64
if err := binary.Read(rand.Reader, binary.BigEndian, &keyNum); err != nil {
return PubKey{}, EncKey{}, err
}
- pubKey := PubKey{
- PKAlg: PKAlg,
- KeyNum: keyNum,
- }
- copy(pubKey.PubKey[:], pub)
- encKey := EncKey{
- PKAlg: PKAlg,
- KDFAlg: KDFAlg,
- KeyNum: keyNum,
+ pubKey := PubKey{PKAlg: PKAlg, KeyNum: keyNum}
+ encKey := EncKey{PKAlg: PKAlg, KDFAlg: KDFAlg, KeyNum: keyNum}
+
+ pub, sec, err := ed25519.GenerateKey(rand.Reader)
+ if err != nil {
+ return PubKey{}, EncKey{}, err
}
+ copy(pubKey.PubKey[:], pub)
copy(encKey.SecKey[:], sec)
+
checkSum := sha512.Sum512(sec)
copy(encKey.Checksum[:], checkSum[:len(encKey.Checksum)])
+
rand.Read(encKey.Salt[:])
return pubKey, encKey, nil