1
0

wallet creation: take care not to write plaintext keys to disk

when creating imported privkey wallets the privkeys
were written to disk unencrypted first, then overwritten with ciphertext
This commit is contained in:
SomberNight
2018-12-03 13:02:14 +01:00
parent ff454ab29d
commit 9350709f13
3 changed files with 7 additions and 5 deletions

View File

@@ -200,7 +200,7 @@ class BaseWizard(object):
self.storage.put('keystore', k.dump())
w = Imported_Wallet(self.storage)
keys = keystore.get_private_keys(text)
good_inputs, bad_inputs = w.import_private_keys(keys, None)
good_inputs, bad_inputs = w.import_private_keys(keys, None, write_to_disk=False)
self.keystores.append(w.keystore)
else:
return self.terminate()
@@ -510,6 +510,7 @@ class BaseWizard(object):
def on_password(self, password, *, encrypt_storage,
storage_enc_version=STO_EV_USER_PW, encrypt_keystore):
assert not self.storage.file_exists(), "file was created too soon! plaintext keys might have been written to disk"
self.storage.set_keystore_encryption(bool(password) and encrypt_keystore)
if encrypt_storage:
self.storage.set_password(password, enc_version=storage_enc_version)