Skip navigation links
Java Smart Card I/O
compact3

Package javax.smartcardio

Java™ Smart Card I/O API This specification describes the Java Smart Card I/O API defined by Description

  • Class Summary 
    Class Description
    ATR
    A Smart Card's answer-to-reset bytes.
    Card
    A Smart Card with which a connection has been established.
    CardChannel
    A logical channel connection to a Smart Card.
    CardPermission
    A permission for Smart Card operations.
    CardTerminal
    A Smart Card terminal, sometimes referred to as a Smart Card Reader.
    CardTerminals
    The set of terminals supported by a TerminalFactory.
    CommandAPDU
    A command APDU following the structure defined in ISO/IEC 7816-4.
    ResponseAPDU
    A response APDU as defined in ISO/IEC 7816-4.
    TerminalFactory
    A factory for CardTerminal objects.
    TerminalFactorySpi
    The TerminalFactorySpi class defines the service provider interface.
  • Enum Summary 
    Enum Description
    CardTerminals.State
    Enumeration of attributes of a CardTerminal.
  • Exception Summary 
    Exception Description
    CardException
    Exception for errors that occur during communication with the Smart Card stack or the card itself.
    CardNotPresentException
    Exception thrown when an application tries to establish a connection with a terminal that has no card present.

Package javax.smartcardio Description

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);

Since:
1.6
Java Smart Card I/O


Copyright © 2005, 2018, Oracle and/or its affiliates. All rights reserved.