Site Tools

Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:jcre:4.4.1_manage_channel_command_processing

4.4.1 MANAGE CHANNEL Command Processing

The Java Card RE shall intercept all APDU messages coming into the card, perform card management functions (such as selecting or deselecting applet instances), and shall forward APDU messages to the appropriate applet instance. As part of its card management functions, the Java Card RE notifies applet instances about selection events (a function it performs by calling the applet instances' select and deselect methods).

With the addition of logical channels in Java Card platform, the Java Card RE includes a multichannel dispatching mechanism, as well as checks to ensure applet integrity during multi-channel operations. The Java Card RE must ensure that applets written to operate in a single logical channel environment operate consistently on a multiple logical channel smart card.

Java Card platform defines a class of APDU commands, called MANAGE CHANNEL commands. The functions the Java Card RE must perform by using MANAGE CHANNEL command processing are:

MANAGE CHANNEL OPEN: Open a new logical channel from an already-open logical channel. Two variations of this command are supported:

  • The Java Card RE selects the new logical channel specified in the command
  • The Java Card RE automatically assigns a new logical channel.

MANAGE CHANNEL CLOSE: Close a specified logical channel from another open logical channel.

In addition, the SELECT FILE APDU command to select an applet instance is extended to specify a new or already opened logical channel on which the specified applet instance is to be selected.

The term origin logical channel refers to the logical channel on which the command is received based on the logical channel number encoding within the CLA byte, as described in Section 4.3, Forwarding APDU Commands To a Logical Channel.

javacard/jcre/4.4.1_manage_channel_command_processing.txt · Last modified: 2017/05/13 04:07 (external edit)