From 60f50b4eebf8e75a4aebf3f8068088ae1a9c4cfe Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 19 Apr 2017 13:59:01 +0200 Subject: reorder --- keys.go | 22 +++++++++------------- 1 file 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 -- cgit v1.2.3