parent
7372e0e082
commit
669cf74789
|
@ -26,6 +26,7 @@ import json
|
||||||
import copy
|
import copy
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from struct import pack
|
from struct import pack
|
||||||
|
from unicodedata import normalize
|
||||||
from i18n import _
|
from i18n import _
|
||||||
|
|
||||||
from util import NotEnoughFunds, PrintError, profiler
|
from util import NotEnoughFunds, PrintError, profiler
|
||||||
|
@ -1764,8 +1765,8 @@ class BIP32_Hardware_Wallet(BIP32_HD_Wallet):
|
||||||
# trezor uses bip39
|
# trezor uses bip39
|
||||||
import pbkdf2, hashlib, hmac
|
import pbkdf2, hashlib, hmac
|
||||||
PBKDF2_ROUNDS = 2048
|
PBKDF2_ROUNDS = 2048
|
||||||
mnemonic = unicodedata.normalize('NFKD', ' '.join(mnemonic.split()))
|
mnemonic = normalize('NFKD', ' '.join(mnemonic.split()))
|
||||||
passphrase = unicodedata.normalize('NFKD', passphrase)
|
passphrase = normalize('NFKD', passphrase)
|
||||||
return pbkdf2.PBKDF2(mnemonic, 'mnemonic' + passphrase,
|
return pbkdf2.PBKDF2(mnemonic, 'mnemonic' + passphrase,
|
||||||
iterations = PBKDF2_ROUNDS, macmodule = hmac,
|
iterations = PBKDF2_ROUNDS, macmodule = hmac,
|
||||||
digestmodule = hashlib.sha512).read(64)
|
digestmodule = hashlib.sha512).read(64)
|
||||||
|
|
|
@ -6,7 +6,6 @@ from PyQt4.Qt import QGridLayout, QInputDialog, QPushButton
|
||||||
from PyQt4.Qt import QVBoxLayout, QLabel, SIGNAL
|
from PyQt4.Qt import QVBoxLayout, QLabel, SIGNAL
|
||||||
from trezor import TrezorPlugin
|
from trezor import TrezorPlugin
|
||||||
from electrum_gui.qt.main_window import ElectrumWindow, StatusBarButton
|
from electrum_gui.qt.main_window import ElectrumWindow, StatusBarButton
|
||||||
from electrum_gui.qt.installwizard import InstallWizard
|
|
||||||
from electrum_gui.qt.password_dialog import PasswordDialog
|
from electrum_gui.qt.password_dialog import PasswordDialog
|
||||||
from electrum_gui.qt.util import *
|
from electrum_gui.qt.util import *
|
||||||
|
|
||||||
|
@ -62,19 +61,11 @@ class QtHandler:
|
||||||
self.done.set()
|
self.done.set()
|
||||||
|
|
||||||
def passphrase_dialog(self, msg):
|
def passphrase_dialog(self, msg):
|
||||||
if type(self.win) is ElectrumWindow:
|
d = PasswordDialog(self.win, None, None, msg, False)
|
||||||
msg = _("Please enter your %s passphrase") % self.device
|
confirmed, p, phrase = d.run()
|
||||||
passphrase = self.win.password_dialog(msg)
|
if confirmed:
|
||||||
else:
|
phrase = normalize('NFKD', unicode(phrase or ''))
|
||||||
assert type(self.win) is InstallWizard
|
self.passphrase = phrase
|
||||||
d = PasswordDialog(self.win, None, None, msg, False)
|
|
||||||
confirmed, p, passphrase = d.run()
|
|
||||||
|
|
||||||
if passphrase is None:
|
|
||||||
self.win.show_critical(_("Passphrase request canceled"))
|
|
||||||
else:
|
|
||||||
passphrase = normalize('NFKD', unicode(passphrase))
|
|
||||||
self.passphrase = passphrase
|
|
||||||
self.done.set()
|
self.done.set()
|
||||||
|
|
||||||
def message_dialog(self, msg, cancel_callback):
|
def message_dialog(self, msg, cancel_callback):
|
||||||
|
|
Loading…
Reference in New Issue