gpg: support multiple keygrips for HAVEKEY command

This commit is contained in:
Roman Zeyde
2017-10-10 13:40:59 +03:00
parent f57dbb553f
commit 835f283ccf

View File

@@ -155,11 +155,14 @@ class Handler(object):
@util.memoize
def have_key(self, *keygrips):
"""Check if current keygrip correspond to a TREZOR-based key."""
"""Check if any keygrip corresponds to a TREZOR-based key."""
for keygrip in keygrips:
try:
self.get_identity(keygrip=keygrips[0])
self.get_identity(keygrip=keygrip)
break
except KeyError as e:
log.warning('HAVEKEY(%s) failed: %s', keygrips, e)
log.warning('HAVEKEY(%s) failed: %s', keygrip, e)
else:
raise AgentError(b'ERR 67108881 No secret key <GPG Agent>')
def key_info(self, conn):