trezor: fix assertions

nistp521
Roman Zeyde 9 years ago
parent afa42d80a3
commit e54fda332e

@ -19,7 +19,8 @@ class TrezorLibrary(object):
from trezorlib.transport_hid import HidTransport
devices = HidTransport.enumerate()
if len(devices) != 1:
raise ValueError('{:d} Trezor devices found'.format(len(devices)))
msg = '{:d} Trezor devices found'.format(len(devices))
raise IOError(msg)
return TrezorClient(HidTransport(devices[0]))
@staticmethod
@ -55,6 +56,7 @@ class Client(object):
return self.factory.parse_identity(label)
def get_public_key(self, identity):
assert identity.proto == 'ssh'
label = _identity_to_string(identity)
log.info('getting "%s" public key from Trezor...', label)
addr = _get_address(identity)
@ -64,13 +66,13 @@ class Client(object):
return formats.export_public_key(pubkey=pubkey, label=label)
def sign_ssh_challenge(self, identity, blob):
assert identity.proto == 'ssh'
label = _identity_to_string(identity)
msg = _parse_ssh_blob(blob)
log.info('please confirm user %s connection to "%s" using Trezor...',
msg['user'], label)
assert identity.proto == 'ssh'
visual = identity.path # not signed when proto='ssh'
result = self.client.sign_identity(identity=identity,
challenge_hidden=blob,
@ -109,7 +111,6 @@ def _string_to_identity(s):
def _identity_to_string(identity):
assert identity.proto == 'ssh'
result = [identity.proto + '://']
if identity.user:
result.append(identity.user + '@')

Loading…
Cancel
Save