laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/31813 )
Change subject: fix SimCardCommands.run_gsm(): always use CLA=0xa0 ......................................................................
fix SimCardCommands.run_gsm(): always use CLA=0xa0
Depending on the card type (SIM or USIM/ISUM), self.cla_byte may be either 0xa0 or 0x00. Sending RUN GSM ALGORITHM with CLA=0x00 fails with SW=6985 (Command not allowed), so let's make sure that we always use CLA=0xa0 regardless of the card type.
Change-Id: Ia0abba136dbd4cdea8dbbc3c4d6abe12c2863680 --- M pySim/commands.py 1 file changed, 15 insertions(+), 1 deletion(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified
diff --git a/pySim/commands.py b/pySim/commands.py index d123e67..ba37876 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -407,7 +407,7 @@ if len(rand) != 32: raise ValueError('Invalid rand') self.select_path(['3f00', '7f20']) - return self._tp.send_apdu(self.cla_byte + '88000010' + rand) + return self._tp.send_apdu('a0' + '88000010' + rand)
def authenticate(self, rand: str, autn: str, context='3g'): """Execute AUTHENTICATE (USIM/ISIM).