Sample code for 30+ languages & platforms
DataFlex

Validate a Smartcard PIN

See more Certificates Examples

Validates a smartcard PIN. This example only runs on Windows and requires Chilkat v9.5.0.77 or greater.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCert
    Integer iPinValid
    String sTemp1

    Move False To iSuccess

    // Note: Requires Chilkat v9.5.0.77 or greater.

    Get Create (RefClass(cComChilkatCert)) To hoCert
    If (Not(IsComObjectCreated(hoCert))) Begin
        Send CreateComObject of hoCert
    End

    Set ComSmartCardPin Of hoCert To "000000"

    // Load the certificate on the smartcard currently in the reader (or on the USB token).
    // Pass an empty string to allow Chilkat to automatically choose the CSP (Cryptographi Service Provider).
    // See Load Certificate on Smartcard for information about explicitly selecting a particular CSP.
    Get ComLoadFromSmartcard Of hoCert "" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoCert To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
    Get ComCheckSmartCardPin Of hoCert To iPinValid
    If (iPinValid < 0) Begin
        Showln "Unable to check the PIN validity."
        Get ComLastErrorText Of hoCert To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    If (iPinValid = 1) Begin
        Showln "PIN is valid."
    End
    Else Begin
        Showln "PIN is invalid."
    End



End_Procedure