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
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 @@
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 @@
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)