aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-05-25 09:14:28 +0200
committerHarald Welte <laforge@osmocom.org>2023-05-25 09:58:34 +0200
commit2bee70cbac8c2fbff4c8809e125dc4833884e4a3 (patch)
treea9922eb944cb38ea90423faa936eea37e7461cb6
parent24e77a775815e90cb9f04ae9157ddc2fcee87eff (diff)
ts_31_102: Add DF.SAIP support
DF.SAIP (SIMalliance Interoperable Profile) is not part of 31.102, but something from the eSIM/eUICC universe of TCA (formerly known as SIMalliance). However, as 3GPP does not specify how/where the card stores the information required for SUCI calculation, the TCA/SIMalliance standard is the only standard there is. Some CardOS start to use this standard even for non-eSIM/eUICC use cases. Change-Id: Iffb65af335dfdbd7791fca9a0a6ad4b79814a57c
-rw-r--r--pySim/ts_31_102.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index 77b8325..76f1358 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -1451,6 +1451,18 @@ class DF_USIM_5GS(CardDF):
self.add_files(files)
+class DF_SAIP(CardDF):
+ """This is not really TS 31.102 but part of the eUICC Profile Package: Interoperable Format Technical
+ Specification as released by TCA (formerly SIMalliance)"""
+ def __init__(self, fid='5FD0', name='DF.SAIP', desc='SIMalliance Interoperable Profile', **kwargs):
+ super().__init__(fid=fid, name=name, desc=desc, **kwargs)
+ files = [
+ # uses the same file format as DF.5GS/EF_SUCI_Calc_Info, but different FID
+ EF_SUCI_Calc_Info(fid='4f01')
+ ]
+ self.add_files(files)
+
+
class ADF_USIM(CardADF):
def __init__(self, aid='a0000000871002', name='ADF.USIM', fid=None, sfid=None,
desc='USIM Application'):
@@ -1576,6 +1588,7 @@ class ADF_USIM(CardADF):
DF_USIM_5GS(service=[122, 123, 124, 125, 126, 127, 129, 130]),
DF_SNPN(service=[143,146]),
DF_5G_ProSe(service=139),
+ DF_SAIP(),
]
self.add_files(files)