personalization.ConfigurableParameter: fix BytesIO() input

Change-Id: I0ad160eef9015e76eef10baee7c6b606fe249123
This commit is contained in:
Neels Hofmeyr
2025-08-04 00:40:13 +02:00
parent 58aafe36c7
commit 6b68e7b54d
3 changed files with 193 additions and 0 deletions

View File

@@ -198,6 +198,9 @@ class ConfigurableParameter:
if cls.allow_chars is not None: if cls.allow_chars is not None:
if any(c not in cls.allow_chars for c in val): if any(c not in cls.allow_chars for c in val):
raise ValueError(f"invalid characters in input value {val!r}, valid chars are {cls.allow_chars}") raise ValueError(f"invalid characters in input value {val!r}, valid chars are {cls.allow_chars}")
elif isinstance(val, io.BytesIO):
val = val.getvalue()
if cls.allow_len is not None: if cls.allow_len is not None:
l = cls.allow_len l = cls.allow_len
# cls.allow_len could be one int, or a tuple of ints. Wrap a single int also in a tuple. # cls.allow_len could be one int, or a tuple of ints. Wrap a single int also in a tuple.

View File

@@ -20,6 +20,7 @@
import io import io
import sys import sys
import unittest import unittest
import io
from importlib import resources from importlib import resources
from osmocom.utils import hexstr from osmocom.utils import hexstr
from pySim.esim.saip import ProfileElementSequence from pySim.esim.saip import ProfileElementSequence
@@ -160,6 +161,10 @@ class ConfigurableParameterTest(unittest.TestCase):
val=bytearray(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'), val=bytearray(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'),
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16', expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516'), expect_val='01020304050607080910111213141516'),
Paramtest(param_cls=p13n.K,
val=io.BytesIO(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'),
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516'),
Paramtest(param_cls=p13n.Opc, Paramtest(param_cls=p13n.Opc,
val='01020304050607080910111213141516', val='01020304050607080910111213141516',
@@ -173,6 +178,10 @@ class ConfigurableParameterTest(unittest.TestCase):
val=bytearray(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'), val=bytearray(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'),
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16', expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516'), expect_val='01020304050607080910111213141516'),
Paramtest(param_cls=p13n.Opc,
val=io.BytesIO(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'),
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516'),
] ]
for sdkey_cls in ( for sdkey_cls in (
@@ -243,6 +252,11 @@ class ConfigurableParameterTest(unittest.TestCase):
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16', expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516', expect_val='01020304050607080910111213141516',
), ),
Paramtest(param_cls=sdkey_cls,
val=io.BytesIO(b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16'),
expect_clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16',
expect_val='01020304050607080910111213141516',
),
]) ])
outputs = [] outputs = []

View File

@@ -71,6 +71,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
@@ -83,6 +87,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -103,6 +111,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -123,6 +135,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -143,6 +159,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -163,6 +183,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -183,6 +207,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -203,6 +231,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -223,6 +255,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -243,6 +279,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -263,6 +303,10 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1A_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Imsi(val= '123456':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Imsi(val= '123456':str)
clean_val= '123456':str clean_val= '123456':str
read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr} read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr}
@@ -335,6 +379,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Opc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Opc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
@@ -347,6 +395,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -367,6 +419,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -387,6 +443,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -407,6 +467,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -427,6 +491,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -447,6 +515,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -467,6 +539,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -487,6 +563,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -507,6 +587,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -527,6 +611,10 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x0
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der Imsi(val= '123456':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der Imsi(val= '123456':str)
clean_val= '123456':str clean_val= '123456':str
read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr} read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr}
@@ -599,6 +687,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
@@ -611,6 +703,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -631,6 +727,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -651,6 +751,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -671,6 +775,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -691,6 +799,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -711,6 +823,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -731,6 +847,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -751,6 +871,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -771,6 +895,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -791,6 +919,10 @@ ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.1B_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der Imsi(val= '123456':str) ok: TS48v5_SAIP2.3_NoBERTLV.der Imsi(val= '123456':str)
clean_val= '123456':str clean_val= '123456':str
read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr} read_back_val= {'IMSI': '123456', 'IMSI-ACC': '0040'}:{str, hexstr}
@@ -863,6 +995,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der K(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'K': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der Opc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
@@ -875,6 +1011,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x1
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der Opc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'OPc': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn01Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -895,6 +1035,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn01Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN01 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn02Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -915,6 +1059,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp80Kvn02Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP80 KVN02 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn81Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -935,6 +1083,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn81Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN81 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn83Enc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -955,6 +1107,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp81Kvn83Enc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP81 KVN83 ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn20Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -975,6 +1131,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn20Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 20 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn21Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -995,6 +1155,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02Kvn21Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 21 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02KvnffEnc(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
@@ -1015,6 +1179,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp02KvnffEnc(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP02 ff ENC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn30Dek(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
@@ -1035,6 +1203,10 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\x
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn30Dek(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 30 DEK': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= '01020304050607080910111213141516':str)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
@@ -1054,3 +1226,7 @@ ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytearray) ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytearray)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr} read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}
ok: TS48v5_SAIP2.3_NoBERTLV.der SdKeyScp03Kvn31Mac(val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':BytesIO)
clean_val= b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
read_back_val= {'SCP03 31 MAC': '01020304050607080910111213141516'}:{hexstr}