diff options
Diffstat (limited to 'crypto/key.go')
-rw-r--r-- | crypto/key.go | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/crypto/key.go b/crypto/key.go index 067a5a294..0f36a7f6b 100644 --- a/crypto/key.go +++ b/crypto/key.go @@ -45,27 +45,28 @@ type Key struct { type plainKeyJSON struct { Id []byte Address []byte + KeyHeader keyHeaderJSON PrivateKey []byte } type encryptedKeyJSON struct { - Id []byte - Address []byte - Crypto cipherJSON + Id []byte + Address []byte + KeyHeader keyHeaderJSON + Crypto cipherJSON } type cipherJSON struct { MAC []byte Salt []byte IV []byte - KeyHeader keyHeaderJSON CipherText []byte } type keyHeaderJSON struct { Version string Kdf string - KdfParams scryptParamsJSON // TODO: make more generic? + KdfParams *scryptParamsJSON // TODO: make more generic? } type scryptParamsJSON struct { @@ -77,9 +78,15 @@ type scryptParamsJSON struct { } func (k *Key) MarshalJSON() (j []byte, err error) { + keyHeader := keyHeaderJSON{ + Version: "1", + Kdf: "", + KdfParams: nil, + } jStruct := plainKeyJSON{ k.Id, k.Address.Bytes(), + keyHeader, FromECDSA(k.PrivateKey), } j, err = json.Marshal(jStruct) |