From a51592e1807c1d13f88b32275aa4a8a77d7d3b40 Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Wed, 10 Jan 2018 14:07:30 +0900 Subject: 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 --- pySim-prog.py | 7 +++---- 1 file 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 -- cgit v1.2.3