laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/pysim/+/37542?usp=email )

Change subject: pySim.global_platform.ota: Support KVN 0x70 for SCP02
......................................................................

pySim.global_platform.ota: Support KVN 0x70 for SCP02

This is a non-standard extension of sysmocom products.

Change-Id: I00d52f7629aae190ee487ea3453f42b5f94cf42f
---
M pySim/global_platform/scp.py
1 file changed, 19 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified




diff --git a/pySim/global_platform/scp.py b/pySim/global_platform/scp.py
index 967a582..f68bcf9 100644
--- a/pySim/global_platform/scp.py
+++ b/pySim/global_platform/scp.py
@@ -115,6 +115,12 @@
             if not card_keys.kvn in range(self.kvn_range[0], 
self.kvn_range[1]+1):
                 raise ValueError('%s cannot be used with KVN outside range 
0x%02x..0x%02x' %
                                  (self.__class__.__name__, self.kvn_range[0], 
self.kvn_range[1]))
+        elif hasattr(self, 'kvn_ranges'):
+            # pylint: disable=no-member
+            if all([not card_keys.kvn in range(x[0], x[1]+1) for x in 
self.kvn_ranges]):
+                raise ValueError('%s cannot be used with KVN outside permitted 
ranges %s' %
+                                 (self.__class__.__name__, self.kvn_ranges))
+
         self.lchan_nr = lchan_nr
         self.card_keys = card_keys
         self.sk = None
@@ -216,7 +222,8 @@

     constr_iur = Struct('key_div_data'/Bytes(10), 'key_ver'/Int8ub, 
Const(b'\x02'),
                         'seq_counter'/Int16ub, 'card_challenge'/Bytes(6), 
'card_cryptogram'/Bytes(8))
-    kvn_range = [0x20, 0x2f]
+    # The 0x70 is a non-spec special-case of sysmoISIM-SJA2/SJA5 and possibly 
more sysmocom products
+    kvn_ranges = [[0x20, 0x2f], [0x70, 0x70]]

     def __init__(self, *args, **kwargs):
         self.overhead = 8

--
To view, visit https://gerrit.osmocom.org/c/pysim/+/37542?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: I00d52f7629aae190ee487ea3453f42b5f94cf42f
Gerrit-Change-Number: 37542
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pma...@sysmocom.de>
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-MessageType: merged

Reply via email to