aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-08-06 16:01:15 +0200
committerHarald Welte <laforge@osmocom.org>2022-08-12 16:58:43 +0200
commitb5d143d96109ff8ab66f35c27f54e572616f494f (patch)
tree5597ee9311b52f4f53d752775b118e0b3ddbfe12
parent8df793a8bddf12e4ed2da2e82ae79a7e5142a5fb (diff)
[UNTESTED] sysmocom_sja2: Support files related to OTA HTTPS features
-rw-r--r--pySim/sysmocom_sja2.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/pySim/sysmocom_sja2.py b/pySim/sysmocom_sja2.py
index 53e6585..9fe331c 100644
--- a/pySim/sysmocom_sja2.py
+++ b/pySim/sysmocom_sja2.py
@@ -150,6 +150,28 @@ class EF_SIM_AUTH_KEY(TransparentEF):
HexAdapter(Bytes(16)))
)
+class EF_HTTPS_CFG(TransparentEF):
+ def __init__(self, fid='6f2a', name='EF.HTTPS_CFG'):
+ super().__init__(fid, name=name, desc='HTTPS configuration')
+
+class EF_HTTPS_KEYS(TransparentEF):
+ KeyRecord = Struct('security_domain'/Int8ub,
+ 'key_type'/Enum(Int8ub, des=0x80, psk=0x85, aes=0x88),
+ 'key_version'/Int8ub,
+ 'key_id'/Int8ub,
+ 'key_length'/Int8ub,
+ 'key'/HexAdapter(Bytes(this.key_length)))
+ def __init__(self, fid='6f2b', name='EF.HTTPS_KEYS'):
+ super().__init__(fid, name=name, desc='HTTPS PSK and DEK keys')
+ self._construct = GreedyRange(self.KeyRecord)
+
+class EF_HTTPS_POLL(TransparentEF):
+ TimeUnit = Enum(Int8ub, seconds=0, minutes=1, hours=2, days=3, ten_days=4)
+ def __init__(self, fid='6f2c', name='EF.HTTPS_POLL'):
+ super().__init__(fid, name=name, desc='HTTPS polling interval')
+ self._construct = Struct(Const(b'\x82'), 'time_unit'/self.TimeUnit, 'value'/Int8ub,
+ 'adm_session_triggering_tlv'/HexAdapter(GreedyBytes))
+
class DF_SYSTEM(CardDF):
def __init__(self):
@@ -168,6 +190,9 @@ class DF_SYSTEM(CardDF):
EF_0348_COUNT(),
EF_GP_COUNT(),
EF_GP_DIV_DATA(),
+ EF_HTTPS_CFG(),
+ EF_HTTPS_KEYS(),
+ EF_HTTPS_POLL(),
]
self.add_files(files)