From 1dd5cb540da0b7346482a16698ef8f5d74487fdb Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Fri, 22 Apr 2022 00:18:59 +0300 Subject: [PATCH] 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 --- pySim/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pySim/commands.py b/pySim/commands.py index d123e67d..ba37876b 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -407,7 +407,7 @@ class SimCardCommands: 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).