aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpySim-prog.py11
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