SpringCore Direct PROTOCOL class

The PROTOCOL class controls the protocol and the session between the device and the host.

CLA value

The PROTOCOL class uses CLA=00.

Message format

SpringCore Direct over USB, SpringCore Direct over BLE

The commands and the responses use the same format.

Field Length Description / remark
Header 4 or 6 bytes CLA = 00, LEN = length of Data
INS / STA 1 byte Command: opcode of the INStruction
Response: STAtus
Data 0 or more bytes Command data
Response data

Encapsulation in CCID Escape / SCardControl

Commands

Field Length Description / remark
CLA 1 byte 00
INS 1 byte opcode of the INStruction
Data 0 or more bytes Command data

Note

The length of the Command is not transmitted, as it can be deduced from the CCID header.

Responses

Field Length Description / remark
STA 1 byte STAtus
Data 0 or more bytes Response data

Note

The length of the Response is not transmitted, as it can be deduced from the CCID header.

The CLA byte is not transmitted.

List of INStructions

The INS opcodes are defined below:

INS Name Description
00 PING Ping the device
01 PING_EVENT Ping the device and generate a (dummy) event
06 GET_DESCRIPTOR RFU
09 SET_CONFIGURATION RFU
0A AUTHENTICATE Initiate a mutual authentication between the host and the device
0C CHANGE_KEY Change one of the authentication keys
F0 TIME_EXTENSION_ACK Acknowledge a TIME_EXTENSION_REQUEST
FC CANCEL Ask the device to cancel the current instruction
FF FOLLOWING The exchange is continuing after a FOLLOWING status

List of STAtus

See List of STAtus