Add key header to unencrypted key file

This commit is contained in:
Gustav Simonsson
2015-04-15 15:47:00 +02:00
parent 29a5a92d13
commit cd88295f5a
2 changed files with 16 additions and 8 deletions

View File

@ -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)