catch and ignore SwMatchError on probing for AID's

When probing applications on a card by running select_adf_by_aid()
SwMatchError exceptions indicating the non exsistance of that
application on the card should be ignored.

Change-Id: I3aa7deaf46bdf352a201c3089b3714405a06f281
This commit is contained in:
Bjoern Riemer 2022-01-18 15:38:14 +01:00
parent 3e33cc7157
commit da57ef1529
1 changed files with 7 additions and 5 deletions

View File

@ -1113,11 +1113,13 @@ class RuntimeState(object):
# Some card applications may not be registered in EF.DIR, we will actively # Some card applications may not be registered in EF.DIR, we will actively
# probe for those applications # probe for those applications
for f in set(apps_profile) - set(apps_taken): for f in set(apps_profile) - set(apps_taken):
data, sw = self.card.select_adf_by_aid(f.aid) try:
if sw == "9000": data, sw = self.card.select_adf_by_aid(f.aid)
print(" %s: %s" % (f.name, f.aid)) if sw == "9000":
apps_taken.append(f) print(" %s: %s" % (f.name, f.aid))
apps_taken.append(f)
except SwMatchError:
pass
return apps_taken return apps_taken
def reset(self, cmd_app=None) -> Hexstr: def reset(self, cmd_app=None) -> Hexstr: