Sample code for 30+ languages & platforms
Java

ScMinidriver - Acquire Context with Smart Card or USB Token

See more ScMinidriver Examples

Initializes communication with the card inserted in the given reader (or a USB token). Reader names can be discovered via the SCard.ListReaders or SCard.FindSmartcards methods. If successful, the Atr and CardName properties will be set.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.ScMinidriver;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        ScMinidriver scmd = new ScMinidriver();

        // Reader names (smart card readers or USB tokens) can be discovered
        // via List Readers or Find Smart Cards
        String readerName = "Alcor Micro USB Smart Card Reader 0";
        try {
            scmd.acquireContext(readerName);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // If we are successful, the name of the currently inserted smart card is available:
        String cardName = scmd.getCardName();
        System.out.println("Card name: " + cardName);

        // Also, the ATR of the inserted card is available (you will likely not need the ATR).
        System.out.println("ATR: " + scmd.getAtr());

        // Also, the maximum number of key containers is readily available:
        System.out.println("Max number of key containers = " + scmd.getMaxContainers());

        // Delete the context when finished with the card.
        try {
            scmd.deleteContext();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
        }

        // Sample output:

        // Card name: IDPrime MD T=0
        // ATR: 3B7F96000080318065B0855956FB120FFE829000
        // Max number of key containers = 20
    }
}