bugfix: encryption of encrypted keys
This commit is contained in:
9
electrum
9
electrum
@@ -443,14 +443,7 @@ if __name__ == '__main__':
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
new_password = getpass.getpass('New password:')
|
new_password = getpass.getpass('New password:')
|
||||||
if new_password == getpass.getpass('Confirm new password:'):
|
if new_password == getpass.getpass('Confirm new password:'):
|
||||||
wallet.use_encryption = (new_password != '')
|
wallet.update_password(seed, password, new_password)
|
||||||
wallet.seed = wallet.pw_encode( seed, new_password)
|
|
||||||
for k in wallet.imported_keys.keys():
|
|
||||||
a = wallet.imported_keys[k]
|
|
||||||
b = wallet.pw_decode(a, password)
|
|
||||||
c = wallet.pw_encode(b, new_password)
|
|
||||||
wallet.imported_keys[k] = c
|
|
||||||
wallet.save()
|
|
||||||
else:
|
else:
|
||||||
print "error: mismatch"
|
print "error: mismatch"
|
||||||
|
|
||||||
|
|||||||
@@ -792,7 +792,7 @@ def change_password_dialog():
|
|||||||
modal_dialog('error','passwords do not match')
|
modal_dialog('error','passwords do not match')
|
||||||
return
|
return
|
||||||
|
|
||||||
wallet.update_password(seed, new_password)
|
wallet.update_password(seed, password, new_password)
|
||||||
if new_password:
|
if new_password:
|
||||||
modal_dialog('Password updated','your wallet is encrypted')
|
modal_dialog('Password updated','your wallet is encrypted')
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ def change_password_dialog(wallet, parent, icon):
|
|||||||
show_message("passwords do not match")
|
show_message("passwords do not match")
|
||||||
return
|
return
|
||||||
|
|
||||||
wallet.update_password(seed, new_password)
|
wallet.update_password(seed, password, new_password)
|
||||||
|
|
||||||
if icon:
|
if icon:
|
||||||
if wallet.use_encryption:
|
if wallet.use_encryption:
|
||||||
|
|||||||
@@ -938,7 +938,7 @@ class ElectrumWindow(QMainWindow):
|
|||||||
QMessageBox.warning(parent, 'Error', 'Passwords do not match', 'OK')
|
QMessageBox.warning(parent, 'Error', 'Passwords do not match', 'OK')
|
||||||
return
|
return
|
||||||
|
|
||||||
wallet.update_password(seed, new_password)
|
wallet.update_password(seed, password, new_password)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def seed_dialog(wallet, parent=None):
|
def seed_dialog(wallet, parent=None):
|
||||||
|
|||||||
@@ -847,13 +847,13 @@ class Wallet:
|
|||||||
|
|
||||||
return target, signing_addr, auth_name
|
return target, signing_addr, auth_name
|
||||||
|
|
||||||
def update_password(self, seed, new_password):
|
def update_password(self, seed, old_password, new_password):
|
||||||
if new_password == '': new_password = None
|
if new_password == '': new_password = None
|
||||||
self.use_encryption = (new_password != None)
|
self.use_encryption = (new_password != None)
|
||||||
self.seed = self.pw_encode( seed, new_password)
|
self.seed = self.pw_encode( seed, new_password)
|
||||||
for k in self.imported_keys.keys():
|
for k in self.imported_keys.keys():
|
||||||
a = self.imported_keys[k]
|
a = self.imported_keys[k]
|
||||||
b = self.pw_decode(a, password)
|
b = self.pw_decode(a, old_password)
|
||||||
c = self.pw_encode(b, new_password)
|
c = self.pw_encode(b, new_password)
|
||||||
self.imported_keys[k] = c
|
self.imported_keys[k] = c
|
||||||
self.save()
|
self.save()
|
||||||
|
|||||||
Reference in New Issue
Block a user