Sample code for 30+ languages & platforms
AutoIt

Load Default Certificate from Smart Card or Token

See more Certificates Examples

Chilkat contains internal logic to examine a connected smart card or USB token, and will make decisions based on make/model to successfully interact with the hardware. When faced with a new smartcard or token, the best starting point is to call LoadFromSmartcard with an empty string argument to see what Chilkat discovers.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

$oCert = ObjCreate("Chilkat.Cert")

;  If you know the smart card PIN, it's good to set it prior to loading from the smartcard/USB token.
$oCert.SmartCardPin = "12345678"

;  To let Chilkat discover what smartcard or token is connected, pass an empty string to LoadFromSmartcard.
;  When testing in this way, it's best to have only a single smartcard or token connected to the system.
$bSuccess = $oCert.LoadFromSmartcard("")
If ($bSuccess = False) Then
    ConsoleWrite($oCert.LastErrorText & @CRLF)
    ConsoleWrite("Certificate not loaded." & @CRLF)
    Exit
EndIf

;  The LastErrorText property on all Chilkat objects will contain 
;  information even when the method call is successful.
;  You can examine the LastErrorText to see what Chilkat found and
;  what decisions were made.
;  
;  For example, if a certificate was successfully loaded via LoadFromSmartcard,
;  but then signing failed, such as w/ Pdf, XmlDSig, CAdES, etc.,
;  then we would want to examine the LastErrorText from the call to
;  LoadFromSmartcard to get detailed information about the card.
ConsoleWrite($oCert.LastErrorText & @CRLF)

ConsoleWrite("Found: " & $oCert.SubjectDN & " serial=" & $oCert.SerialNumber & @CRLF)