diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2021-11-18 11:25:34 +0100 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2021-11-23 18:35:34 +0100 |
commit | 931bc66331c78b1c1eb8ce48276c29aea4b691ea (patch) | |
tree | 2cc7606ae7e8e9b2491c77c008ed1a5a52094908 | |
parent | abc23365715d36d8e4c3afcaa4fbf2df2764d7be (diff) |
cards: Make select_adf_by_aid() use prefix AID selection
There is no need for us to expand a partial AID to the full AID before
selecting that ADF. The UICC specifications permit AID selection by
prefix only. So we could pass the prefix to the card, and the card would
do the prefix matching. In order to avoid problems with cards that fail
to do the prefix matching themselves we will still do the AID
completion, but in case we cannot complete the AID (AID not listed in
EF.DIR), we will try with the AID prefix anyway.
From the API user point of view, this allows us to select applications
not listed in EF.DIR
Change-Id: I0747b4e46ca7e30bd96d76053765080367ac1317
-rw-r--r-- | pySim/cards.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/pySim/cards.py b/pySim/cards.py index a822161..45e44a2 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -308,6 +308,9 @@ class SimCard(object): aid_full = self._complete_aid(aid) if aid_full: return self._scc.select_adf(aid_full) + else: + # If we cannot get the full AID, try with short AID + return self._scc.select_adf(aid) return (None, None) def erase_binary(self, ef): |