aboutsummaryrefslogtreecommitdiffstats
path: root/pySim-prog.py
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2018-01-10 14:07:30 +0900
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2018-01-10 17:12:10 +0900
commita51592e1807c1d13f88b32275aa4a8a77d7d3b40 (patch)
tree8fbbad8a4fc5c7e345940ed0f6fe16b2ff2a2685 /pySim-prog.py
parenteb6807d3cbff34b79ad14c83f5b72507e13f46d4 (diff)
pySim-prog: ADM code can be longer 8 digits, it's implementation specific.
E.g. Fairwaves SIM cards have longer ADM codes. Change-Id: I87d61764eeba4bcf7525ee4778cb8f244930db9b
Diffstat (limited to 'pySim-prog.py')
-rwxr-xr-xpySim-prog.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/pySim-prog.py b/pySim-prog.py
index 728949e..2177d8c 100755
--- a/pySim-prog.py
+++ b/pySim-prog.py
@@ -379,10 +379,9 @@ def gen_parameters(opts):
opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)])
if opts.pin_adm is not None:
- if len(opts.pin_adm) > 8:
- raise ValueError("PIN-ADM needs to be <=8 digits")
- pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm])
- pin_adm = rpad(pin_adm, 16)
+ pin_adm = opts.pin_adm
+ if not re.match('^([0-9a-fA-F][0-9a-fA-F])+$', pin_adm):
+ raise ValueError('ADM pin needs to be in hex format (even number of hex digits)')
else:
pin_adm = None