Add missing encryption in private key import (issue #1966). Allow key overwrite in order to fix affected wallets
This commit is contained in:
@@ -141,15 +141,12 @@ class Imported_KeyStore(Software_KeyStore):
|
|||||||
self.get_private_key((0,0), password)
|
self.get_private_key((0,0), password)
|
||||||
|
|
||||||
def import_key(self, sec, password):
|
def import_key(self, sec, password):
|
||||||
if not self.can_import():
|
|
||||||
raise BaseException('This wallet cannot import private keys')
|
|
||||||
try:
|
try:
|
||||||
pubkey = public_key_from_private_key(sec)
|
pubkey = public_key_from_private_key(sec)
|
||||||
except Exception:
|
except Exception:
|
||||||
raise BaseException('Invalid private key')
|
raise BaseException('Invalid private key')
|
||||||
if pubkey in self.keypairs:
|
# allow overwrite
|
||||||
raise BaseException('Private key already in keystore')
|
self.keypairs[pubkey] = pw_encode(sec, password)
|
||||||
self.keypairs[pubkey] = sec
|
|
||||||
self.receiving_pubkeys = self.keypairs.keys()
|
self.receiving_pubkeys = self.keypairs.keys()
|
||||||
return pubkey
|
return pubkey
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user