diff options
author | Harald Welte <laforge@osmocom.org> | 2022-08-06 16:01:15 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2022-08-12 16:58:43 +0200 |
commit | b5d143d96109ff8ab66f35c27f54e572616f494f (patch) | |
tree | 5597ee9311b52f4f53d752775b118e0b3ddbfe12 | |
parent | 8df793a8bddf12e4ed2da2e82ae79a7e5142a5fb (diff) |
[UNTESTED] sysmocom_sja2: Support files related to OTA HTTPS features
Change-Id: I5710b82c2eea6b6bf5b38882b2a1ec7d60a725d8
-rw-r--r-- | pySim/sysmocom_sja2.py | 25 |
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) |