Supported GlobalPlatform Features

The Issuer Security Domain (ISD) with the default AID defined by (GPCS) is the default selected applet after the start of the Simulator.

The ISD implements the secure channel protocol SCP03 with option i=’70’ specified in GP Amendment D. This implementation supports initial AES keys of length 128, 192 or 256 bit length. The keys cannot be updated. The initial keyset can be configured with the Configurator tool, please refer to the Installation section of this document for the configuration of the keyset.

Note:

The Key Version Number (KVN) for the initial ISD keys is set to '0x10'.

All the card lifecycle states specified in (GPCS) are supported. The Simulator is in lifecycle state OP_READY after the installation of the Simulator. It is possible to change the lifecycle state according to the rules defined in (GPCS). The ISD is in lifecycle state PERSONALIZED after the installation of the Simulator.

The ISD supports the following APDU commands. Please refer to the (GPCS) specification for the details of the command.

Supported APDU Commands

DELETE

The DELETE command is used to delete applet instances and packages.

GET DATA

The GET DATA command is used to retrieve a single or a set of BER-TLV-coded objects. The ISD supports the following objects identified by their TAG:

  • TAG ‘42’: Issuer Identification Number (IIN)
  • TAG ‘45’ Card Image Number (CIN)
  • IIN and CIN can be configured with command line options when starting the Simulator.
  • TAG ‘66’ Card Data
  • TAG ‘E0’ Key Information Template
  • TAG ‘67’ Card Capability Information
  • TAG ‘C1’ Sequence Counter of the default Key Version Number
  • TAG ‘CF’ Key derivation data tag
  • TAG ‘2F00’ List of applications

GET STATUS

The GET STATUS command is used to retrieve ISD, CAP file, package and applet status information.

INSTALL

The INSTALL command is used to initiate and perform the various steps of the Card Content management defined in the (GPCS). The following command data fields are supported, for the details of these command data field please refer to the (GPCS) specification:

  • INSTALL [for load]
  • INSTALL [for install]
  • INSTALL [for make selectable]
  • INSTALL [for personalization]
  • INSTALL [install and make selectable]

LOAD

The LOAD command is used to load a CAP file (compact as well as extended format) into the Simulator. A CAP file is usually loaded with multiple LOAD commands with a sequential numbering as described in (GPCS).

MANAGE CHANNEL

This command is used to open and close logical channel, the Simulator supports 4 logical channels. The processing of the MANAGE CHANNEL command follows the rules described in the JCRE specification and in the (GPCS).

SELECT

The SELECT command is used for selecting an Applet or a Security Domain (SD). The processing of the SELECT command follows the rules described in the JCRE specification and in the (GPCS).

SET STATUS

The SET STATUS command can be used to manage the card lifecycle state or the application life cycle state.

STORE DATA

The STORE DATA command is used to transfer data to an Applet or the ISD. If an Applet wants to receive these data it has to use the mechanism described in the GlobalPlatform API. The implementation of the Simulator does not support key loading for the ISD with the STORE DATA command.

GlobalPlatform API

The Simulator implements the GlobalPlatform API v. 1.6 (org.globalplatform). The documentation and the export files are available on the GlobalPlatform website. Refer to the link at the beginning of this chapter. The entire package is available in the Simulator but not all services are enabled. The following interfaces are not implemented:

  • GlobalService
  • HTTPAdministration
  • HTTPReportListener
  • Authority
  • SecureChannelx
  • SecureChannelx2