diff options
-rwxr-xr-x | pySim-prog.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pySim-prog.py b/pySim-prog.py index 0c9f749..d70eac9 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -361,10 +361,13 @@ 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) + if len(opts.pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + pin_adm = rpad(pin_adm, 16) + elif len(opts.pin_adm) == 16: + pin_adm = opts.pin_adm + else: + raise ValueError("PIN-ADM needs to be <=8 digits (ascii) or exactly 16 digits (raw hex)") else: pin_adm = None |