Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set scmd [new_CkScMinidriver]
# Reader names (smart card readers or USB tokens) can be discovered
# via List Readers or Find Smart Cards
set readerName "Alcor Micro USB Smart Card Reader 0"
set success [CkScMinidriver_AcquireContext $scmd $readerName]
if {$success == 0} then {
puts [CkScMinidriver_lastErrorText $scmd]
delete_CkScMinidriver $scmd
exit
}
# If successful, the name of the currently inserted smart card is available:
puts "Card name: [CkScMinidriver_cardName $scmd]"
# Change the "user" PIN. (Typically, you'll always be using the "user" PIN.)
set currentPin "0000"
set newPin "1234"
set retval [CkScMinidriver_PinChange $scmd "user" $currentPin $newPin]
if {$retval == -1} then {
puts "The PIN is already blocked."
delete_CkScMinidriver $scmd
exit
}
if {$retval == -2} then {
puts "The PinChange function failed for some unanticipated reason"
puts [CkScMinidriver_lastErrorText $scmd]
delete_CkScMinidriver $scmd
exit
}
if {$retval == 0} then {
puts "PIN successfully changed."
} else {
puts "Current PIN is incorrect."
puts "Number of attempts remaining = $retval"
}
CkScMinidriver_DeleteContext $scmd
delete_CkScMinidriver $scmd