laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35952?usp=email )
Change subject: ts_31_102: Add support for "USIM supporting non-IMSI SUPI Type" ...................................................................... ts_31_102: Add support for "USIM supporting non-IMSI SUPI Type" This type of USIM was introduced in Release 16.4. It is basically a copy of ADF.USIM without the EF.IMSI file and a dedicated AID. Change-Id: Ifcde27873a398273a89889bb38537f79859383e9 --- M pySim/ts_31_102.py 1 file changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/35952/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 0ddf218..2536603 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -10,7 +10,7 @@ # # Copyright (C) 2020 Supreeth Herle <[email protected]> -# Copyright (C) 2021-2023 Harald Welte <[email protected]> +# Copyright (C) 2021-2024 Harald Welte <[email protected]> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1443,14 +1443,13 @@ class ADF_USIM(CardADF): def __init__(self, aid='a0000000871002', has_fs=True, name='ADF.USIM', fid=None, sfid=None, - desc='USIM Application'): + desc='USIM Application', has_imsi=True): super().__init__(aid=aid, has_fs=has_fs, fid=fid, sfid=sfid, name=name, desc=desc) # add those commands to the general commands of a TransparentEF self.shell_commands += [self.AddlShellCommands()] files = [ EF_LI(sfid=0x02), - EF_IMSI(sfid=0x07), EF_Keys(), EF_Keys('6f09', 0x09, 'EF.KeysPS', desc='Ciphering and Integrity Keys for PS domain'), @@ -1571,6 +1570,10 @@ DF_5G_ProSe(service=139), DF_SAIP(), ] + + if has_imsi: + files.append(EF_IMSI(sfid=0x07)) + self.add_files(files) def decode_select_response(self, data_hex): @@ -1666,3 +1669,10 @@ class CardApplicationUSIM(CardApplication): def __init__(self): super().__init__('USIM', adf=ADF_USIM(), sw=sw_usim) + +# TS 31.102 Annex N + TS 102 220 Annex E +class CardApplicationUSIMnonIMSI(CardApplication): + def __init__(self): + adf = ADF_USIM(aid='a000000087100b', name='ADF.USIM-non-IMSI', has_imsi=False, + desc='3GPP USIM (non-IMSI SUPI Type) - TS 31.102 Annex N') + super().__init__('USIM-non-IMSI', adf=adf, sw=sw_usim) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35952?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifcde27873a398273a89889bb38537f79859383e9 Gerrit-Change-Number: 35952 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <[email protected]> Gerrit-MessageType: newchange
