CkPython
CkPython
ScMinidriver - Change Smart Card PIN (or USB token PIN)
See more ScMinidriver Examples
Demonstrates how to change the PIN for a smart card or USB token.Chilkat CkPython Downloads
import sys
import chilkat
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
scmd = chilkat.CkScMinidriver()
# Reader names (smart card readers or USB tokens) can be discovered
# via List Readers or Find Smart Cards
readerName = "Alcor Micro USB Smart Card Reader 0"
success = scmd.AcquireContext(readerName)
if (success == False):
print(scmd.lastErrorText())
sys.exit()
# If successful, the name of the currently inserted smart card is available:
print("Card name: " + scmd.cardName())
# Change the "user" PIN. (Typically, you'll always be using the "user" PIN.)
currentPin = "0000"
newPin = "1234"
retval = scmd.PinChange("user",currentPin,newPin)
if (retval == -1):
print("The PIN is already blocked.")
sys.exit()
if (retval == -2):
print("The PinChange function failed for some unanticipated reason")
print(scmd.lastErrorText())
sys.exit()
if (retval == 0):
print("PIN successfully changed.")
else:
print("Current PIN is incorrect.")
print("Number of attempts remaining = " + str(retval))
scmd.DeleteContext()