gpg: use pymsgbox for PIN entrering UI

nistp521
Roman Zeyde 7 years ago
parent bab46dae5c
commit 08fef24e39
No known key found for this signature in database
GPG Key ID: 87CAE5FA46917CBB

@ -5,6 +5,7 @@ import logging
import os
import sys
import pymsgbox # pylint: disable=import-error
import semver
from . import interface
@ -38,24 +39,17 @@ class Trezor(interface.Device):
if not sys.stdin.closed and os.isatty(sys.stdin.fileno()):
return conn.callback_PinMatrixRequest # CLI-based PIN handler
def qt_handler(_):
# pylint: disable=import-error
from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit
def ui_handler(_):
label = ('Use the numeric keypad to describe number positions.\n'
'The layout is:\n'
' 7 8 9\n'
' 4 5 6\n'
' 1 2 3\n'
'Please enter PIN:')
app = QApplication([])
qd = QInputDialog()
qd.setTextEchoMode(QLineEdit.Password)
qd.setLabelText(label)
qd.show()
app.exec_()
return self._defs.PinMatrixAck(pin=qd.textValue())
return qt_handler
scrambled_pin = pymsgbox.password(label)
return self._defs.PinMatrixAck(pin=scrambled_pin)
return ui_handler
for d in self._defs.Transport.enumerate():
log.debug('endpoint: %s', d)

@ -17,6 +17,7 @@ setup(
install_requires=[
'ecdsa>=0.13',
'ed25519>=1.4',
'pymsgbox>=1.0.6',
'semver>=2.2',
'unidecode>=0.4.20',
],

Loading…
Cancel
Save