laforge has uploaded this change for review. (
https://gerrit.osmocom.org/c/pysim/+/35450?usp=email )
Change subject: global_platform: Add support for key types of v2.3.1 (including AES)
......................................................................
global_platform: Add support for key types of v2.3.1 (including AES)
Change-Id: Iae30f18435c2b0a349bfd9240b9c7cca06674534
---
M pySim/global_platform.py
1 file changed, 24 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/50/35450/1
diff --git a/pySim/global_platform.py b/pySim/global_platform.py
index 2ebec7f..7cb91cb 100644
--- a/pySim/global_platform.py
+++ b/pySim/global_platform.py
@@ -1,7 +1,7 @@
# coding=utf-8
"""Partial Support for GlobalPLatform Card Spec (currently 2.1.1)
-(C) 2022 by Harald Welte <laforge(a)osmocom.org>
+(C) 2022-2023 by Harald Welte <laforge(a)osmocom.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -68,6 +68,10 @@
# GlobalPlatform 2.1.1 Section 9.1.6
KeyType = Enum(Byte, des=0x80,
+ tls_psk=0x85, # v2.3.1 Section 11.1.8
+ aes=0x88, # v2.3.1 Section 11.1.8
+ hmac_sha1=0x90, # v2.3.1 Section 11.1.8
+ hmac_sha1_160=0x91, # v2.3.1 Section 11.1.8
rsa_public_exponent_e_cleartex=0xA0,
rsa_modulus_n_cleartext=0xA1,
rsa_modulus_n=0xA2,
@@ -77,6 +81,15 @@
rsa_chines_remainder_pq=0xA6,
rsa_chines_remainder_dpi=0xA7,
rsa_chines_remainder_dqi=0xA8,
+ ecc_public_key=0xB0, # v2.3.1 Section 11.1.8
+ ecc_private_key=0xB1, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_p=0xB2, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_a=0xB3, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_b=0xB4, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_g=0xB5, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_n=0xB6, # v2.3.1 Section 11.1.8
+ ecc_field_parameter_k=0xB7, # v2.3.1 Section 11.1.8
+ ecc_key_parameters_reference=0xF0, # v2.3.1 Section 11.1.8
not_available=0xff)
# GlobalPlatform 2.1.1 Section 9.3.3.1
@@ -93,6 +106,7 @@
( '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"} ]} ),
+ ( 'c00402038810', {"key_identifier": 2,
"key_version_number": 3, "key_types": [ {"length": 16,
"type": "aes"} ]} ),
]
KeyTypeLen = Struct('type'/KeyType, 'length'/Int8ub)
_construct = Struct('key_identifier'/Byte,
'key_version_number'/Byte,
--
To view, visit
https://gerrit.osmocom.org/c/pysim/+/35450?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iae30f18435c2b0a349bfd9240b9c7cca06674534
Gerrit-Change-Number: 35450
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange