From 3662285b4b08973194189a932ed33de270d965e3 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 1 Dec 2025 04:56:10 +0100 Subject: [PATCH] personalization: fix DES key lengths Change-Id: Ic73dcd5fe1b10c65c6a054aa08363a204444ac7e --- pySim/esim/saip/personalization.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pySim/esim/saip/personalization.py b/pySim/esim/saip/personalization.py index 04ad8226..2e13504c 100644 --- a/pySim/esim/saip/personalization.py +++ b/pySim/esim/saip/personalization.py @@ -618,12 +618,20 @@ class SdKeyAes(SdKey): allow_len = (16,24,32) default_value = '00*32' +class SdKeyDes(SdKey): + key_type = KeyType.des + allow_len = (16) + default_value = '00*16' -class SdKeyScp80(SdKeyAes): - name = 'SCP80' +class SdKeyScp80Aes(SdKeyAes): + name = 'SCP80-AES' reserved_kvn = tuple(range(0x01, 0x0f + 1)) -class SdKeyScp80AesKvn01(SdKeyScp80): +class SdKeyScp80Des(SdKeyDes): + name = 'SCP80-DES' + reserved_kvn = SdKeyScp80Aes.reserved_kvn + +class SdKeyScp80AesKvn01(SdKeyScp80Aes): name = 'SCP80-KVN01-AES' kvn = 0x01 class SdKeyScp80AesKvn01Enc(SdKeyScp80AesKvn01): @@ -642,10 +650,9 @@ class SdKeyScp80AesKvn01Dek(SdKeyScp80AesKvn01): key_id = 0x03 key_usage_qual = 0x48 -class SdKeyScp80DesKvn01(SdKeyScp80): +class SdKeyScp80DesKvn01(SdKeyScp80Des): name = 'SCP80-KVN01-DES' kvn = 0x01 - key_type = KeyType.des class SdKeyScp80DesKvn01Enc(SdKeyScp80DesKvn01): is_abstract = False name = SdKeyScp80DesKvn01.name + '-ENC' @@ -662,7 +669,7 @@ class SdKeyScp80DesKvn01Dek(SdKeyScp80DesKvn01): key_id = 0x03 key_usage_qual = 0x48 -class SdKeyScp80Kvn02(SdKeyScp80): +class SdKeyScp80Kvn02(SdKeyScp80Aes): name = 'SCP80-KVN02-AES' kvn = 0x02 class SdKeyScp80Kvn02Enc(SdKeyScp80Kvn02): @@ -681,7 +688,7 @@ class SdKeyScp80Kvn02Dek(SdKeyScp80Kvn02): key_id = 0x03 key_usage_qual = 0x48 -class SdKeyScp80Kvn03(SdKeyScp80): +class SdKeyScp80Kvn03(SdKeyScp80Aes): name = 'SCP80-KVN03-AES' kvn = 0x03 class SdKeyScp80Kvn03Enc(SdKeyScp80Kvn03):