diff options
author | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2018-01-10 14:07:30 +0900 |
---|---|---|
committer | Alexander Chemeris <Alexander.Chemeris@gmail.com> | 2018-01-10 17:12:10 +0900 |
commit | a51592e1807c1d13f88b32275aa4a8a77d7d3b40 (patch) | |
tree | 8fbbad8a4fc5c7e345940ed0f6fe16b2ff2a2685 | |
parent | eb6807d3cbff34b79ad14c83f5b72507e13f46d4 (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
-rwxr-xr-x | pySim-prog.py | 7 |
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 |