def _unlock_pin(args):
    reader = open_pyscard(args.reader)
    select_app(reader)
    unlock_pin(reader, args.puk)

    if args.machine_readable:
        json.dump({'status': 'success'}, fp=sys.stdout)
    else:
        print('OK - unlocked')
Ejemplo n.º 2
0
def _disable_pin(args):
    reader = args.reader
    puk = change_pin(reader, args.pin, 'dummy')
    unlock_pin(reader, args.puk)

    if args.machine_readable:
        json.dump({'status': 'success'}, fp=sys.stdout)
    else:
        print('OK - unlocked')
Ejemplo n.º 3
0
def _unlock_pin(args):
    reader = args.reader
    unlock_pin(reader, args.puk)
    set_pin(reader, args.new_pin)

    if args.machine_readable:
        json.dump({'status': 'success'}, fp=sys.stdout)
    else:
        print('OK - unlocked')
Ejemplo n.º 4
0
def _unlock_pin(args):
    reader = open_pyscard(args.reader)
    select_app(reader)
    status = unlock_pin(reader, args.puk)
    if (True == status):
        if args.machine_readable:
            json.dump({'status': 'success'}, fp=sys.stdout)
        else:
            print('OK - unlocked')
    elif (0 != status):
        print('ERROR - ' + str(status) + ' tries left')
    else:
        print('ERROR - Locked')
 mode = input(
     'What would you like to do? ("Set pin", "Change pin", "Unlock pin" or "Verify pin")\n'
 )
 try:
     if ('Set pin' == mode):
         pin = input('Please enter a new PIN: ')
         puk = blocksec2go.set_pin(reader, pin)
         print('PUK to unlock card (hex): ' + puk.hex())
     elif ('Change pin' == mode):
         old_pin = input('Please enter PIN: ')
         new_pin = input('Please enter a new PIN: ')
         puk = blocksec2go.change_pin(reader, old_pin, new_pin)
         print('New PUK to unlock card (hex): ' + puk.hex())
     elif ('Unlock pin' == mode):
         puk = input('Please enter PUK: ')
         status = blocksec2go.unlock_pin(reader, bytes.fromhex(puk))
         if ((True == status) and (isinstance(status, bool))):
             print('OK - Unlocked!')
         elif (0 != status):
             print('ERROR - ' + str(status) + ' tries left')
         else:
             print('ERROR - Card locked!')
     elif ('Verify pin' == mode):
         pin = input('Please enter PIN: ')
         status = blocksec2go.verify_pin(reader, pin)
         if ((True == status) and (isinstance(status, bool))):
             print('OK - Verified!')
         elif (0 != status):
             print('ERROR - ' + str(status) + ' tries left')
         else:
             print(