aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-12-23 21:02:44 +0100
committerlaforge <laforge@osmocom.org>2023-12-27 15:15:58 +0000
commit45626271cf4a28dbb0010aa35a28fa671c0c9f9c (patch)
tree2187e15e0d0a99253e2e40944983939626c7c8bb
parent2538dd7621d4aac9956735b3187487520c4f7827 (diff)
global_platform: Add TLV test data for Key Information Data
-rw-r--r--pySim/global_platform.py27
-rwxr-xr-xtests/test_tlvs.py1
2 files changed, 14 insertions, 14 deletions
diff --git a/pySim/global_platform.py b/pySim/global_platform.py
index b564770..8daf927 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 b0ad48a..a0dd107 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.