From 45626271cf4a28dbb0010aa35a28fa671c0c9f9c Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 23 Dec 2023 21:02:44 +0100 Subject: [PATCH] global_platform: Add TLV test data for Key Information Data Change-Id: Ib7b73cb28abea98986a66264a0779263873d7fb2 --- pySim/global_platform.py | 27 +++++++++++++-------------- tests/test_tlvs.py | 1 + 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pySim/global_platform.py b/pySim/global_platform.py index b564770b..8daf927d 100644 --- a/pySim/global_platform.py +++ b/pySim/global_platform.py @@ -80,21 +80,20 @@ KeyType = Enum(Byte, des=0x80, not_available=0xff) # GlobalPlatform 2.1.1 Section 9.3.3.1 -# example: -# e0 48 -# c0 04 01708010 -# c0 04 02708010 -# c0 04 03708010 -# c0 04 01018010 -# c0 04 02018010 -# c0 04 03018010 -# c0 04 01028010 -# c0 04 02028010 -# c0 04 03028010 -# c0 04 01038010 -# c0 04 02038010 -# c0 04 03038010 class KeyInformationData(BER_TLV_IE, tag=0xc0): + _test_de_encode = [ + ( 'c00401708010', {"key_identifier": 1, "key_version_number": 112, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00402708010', {"key_identifier": 2, "key_version_number": 112, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00403708010', {"key_identifier": 3, "key_version_number": 112, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00401018010', {"key_identifier": 1, "key_version_number": 1, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00402018010', {"key_identifier": 2, "key_version_number": 1, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00403018010', {"key_identifier": 3, "key_version_number": 1, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00401028010', {"key_identifier": 1, "key_version_number": 2, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00402028010', {"key_identifier": 2, "key_version_number": 2, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00403038010', {"key_identifier": 3, "key_version_number": 3, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00401038010', {"key_identifier": 1, "key_version_number": 3, "key_types": [ {"length": 16, "type": "des"} ]} ), + ( 'c00402038010', {"key_identifier": 2, "key_version_number": 3, "key_types": [ {"length": 16, "type": "des"} ]} ), + ] KeyTypeLen = Struct('type'/KeyType, 'length'/Int8ub) _construct = Struct('key_identifier'/Byte, 'key_version_number'/Byte, 'key_types'/GreedyRange(KeyTypeLen)) diff --git a/tests/test_tlvs.py b/tests/test_tlvs.py index b0ad48a2..a0dd1076 100755 --- a/tests/test_tlvs.py +++ b/tests/test_tlvs.py @@ -30,6 +30,7 @@ import pySim.ts_51_011 import pySim.sysmocom_sja2 import pySim.gsm_r import pySim.cdma_ruim +import pySim.global_platform if 'unittest.util' in __import__('sys').modules: # Show full diff in self.assertEqual.