Top Description Classes
module java.smartcardio

Package javax.smartcardio


Java™ Smart Card I/O API. This specification describes the Java Smart Card I/O API defined by JSR 268. It defines a Java API for communication with Smart Cards using ISO/IEC 7816-4 APDUs. It thereby allows Java applications to interact with applications running on the Smart Card, to store and retrieve data on the card, etc.

The API is defined by classes in the package javax.smartcardio. They can be classified as follows:

Classes describing the corresponding Smart Card structures
ATR, CommandAPDU, ResponseAPDU
Factory to obtain implementations
TerminalFactory
Main classes for card and terminal functions
CardTerminals, CardTerminal, Card, CardChannel
Supporting permission and exception classes
CardPermission, CardException, CardNotPresentException
Service provider interface, not accessed directly by applications
TerminalFactorySpi

API Example

A simple example of using the API is:
     // show the list of available terminals
     TerminalFactory factory = TerminalFactory.getDefault();
     List<CardTerminal> terminals = factory.terminals().list();
     System.out.println("Terminals: " + terminals);
     // get the first terminal
     CardTerminal terminal = terminals.get(0);
     // establish a connection with the card
     Card card = terminal.connect("T=0");
     System.out.println("card: " + card);
     CardChannel channel = card.getBasicChannel();
     ResponseAPDU r = channel.transmit(new CommandAPDU(c1));
     System.out.println("response: " + toString(r.getBytes()));
     // disconnect
     card.disconnect(false);
Authors
Andreas Sterbenz, JSR 268 Expert Group
Since
1.6

Class Summary

Modifier and TypeClass and Description
public class
ATR

A Smart Card's answer-to-reset bytes.

public abstract class
Card

A Smart Card with which a connection has been established.

public abstract class
CardChannel

A logical channel connection to a Smart Card.

public class
CardException

Exception for errors that occur during communication with the Smart Card stack or the card itself.

public class
CardNotPresentException

Exception thrown when an application tries to establish a connection with a terminal that has no card present.

public class
CardPermission

A permission for Smart Card operations.

public abstract class
CardTerminal

A Smart Card terminal, sometimes referred to as a Smart Card Reader.

public abstract class
CardTerminals

The set of terminals supported by a TerminalFactory.

public class
CommandAPDU

A command APDU following the structure defined in ISO/IEC 7816-4.

public class
ResponseAPDU

A response APDU as defined in ISO/IEC 7816-4.

public class
TerminalFactory

A factory for CardTerminal objects.

public abstract class
TerminalFactorySpi

The TerminalFactorySpi class defines the service provider interface.