[UNTESTED] sysmocom_sja2: Support files related to OTA HTTPS features

Change-Id: I5710b82c2eea6b6bf5b38882b2a1ec7d60a725d8
This commit is contained in:
Harald Welte 2022-08-06 16:01:15 +02:00
parent 8df793a8bd
commit b5d143d961
1 changed files with 25 additions and 0 deletions

View File

@ -150,6 +150,28 @@ class EF_SIM_AUTH_KEY(TransparentEF):
HexAdapter(Bytes(16))) 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): class DF_SYSTEM(CardDF):
def __init__(self): def __init__(self):
@ -168,6 +190,9 @@ class DF_SYSTEM(CardDF):
EF_0348_COUNT(), EF_0348_COUNT(),
EF_GP_COUNT(), EF_GP_COUNT(),
EF_GP_DIV_DATA(), EF_GP_DIV_DATA(),
EF_HTTPS_CFG(),
EF_HTTPS_KEYS(),
EF_HTTPS_POLL(),
] ]
self.add_files(files) self.add_files(files)