aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-08-06 16:01:15 +0200
committerHarald Welte <laforge@osmocom.org>2022-12-02 22:28:54 +0100
commit6abda76d40bdde2442ef46938af627be7062527d (patch)
treec14ce7f7ebd119d24a99d785dbcd55a64116f262
parentc439d1b3cfd67fede39c498d064bc3b7ba86da8e (diff)
[UNTESTED] sysmocom_sja2: Support files related to OTA HTTPS featureslaforge/ota
-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 a78318e..649e948 100644
--- a/pySim/sysmocom_sja2.py
+++ b/pySim/sysmocom_sja2.py
@@ -145,6 +145,28 @@ class EF_SIM_AUTH_KEY(TransparentEF):
'key'/HexAdapter(Bytes(16)),
'op_opc' /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):
@@ -163,6 +185,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)