Команды всегда инициируются прикладным уровнем терминала TAL (Terminal Application Layer), который посылает инструкции ICC через транспортный уровень TTL (Terminal Transport Layer). Команда содержит последовательность из 5 байт: CLA, INS, P1, P2 и P3.
Имя байта | Назначение |
CLA | Класс команды (1 байт). |
INS | Код инструкции (1 байт). |
P1 и P2 | Cодержат дополнительные специфические параметры (по 1 байту). |
Р3 | Указывает либо длину посылаемых в команде данных, либо максимальную длину данных, которые должны быть присланы в отклике от ICC (зависит от кода INS). |
Эти 5 байт вместе с байтами данных образуют командный блок протокольной информации C-TPDU для Т=0.
Получив команду, ICC откликается отправкой процедурного или статусных байтов. Процедурный байт указывает TTL, какая операция является следующей. Отклик терминала на процедурный байт представлен в таблице 4.6.4.10.
Таблица 4.6.4.10. Отклик терминала на процедурный байт
Значение процедурного байта | Действие терминала |
Байт равен INS | Все остальные байты данных будут переданы TTL, или TTL будет готов принять все остальные байты от ICC |
Байт равен дополнению INS | Следующий байт данных будет передан TTL или TTL будет готов принять следующий байт от ICC |
60 | TTL введет дополнительное время выдержки (Work Waiting Time) |
61 | TTL будет ждать следующий процедурный байт, затем пошлет ICC команду GET RESPONSE с максимальной длиной "xx", где хх равно значению второго процедурного байта |
6C | TTL будет ждать следующий процедурный байт, после чего немедленно повторно пошлет ICC предыдущий командный заголовок, используя длину "xx", где хх равно значению второго процедурного байта |
Во всех случаях после реализации операции TTL ждет прихода процедурного байта или статусного сообщения.
Командное сообщение, посылаемое от прикладного уровня, и сообщение-отклик ICC называются APDU (Application Protocol Data Unit). Формат APDU показан на рисунке 4.6.4.8.
Рис. 4.6.4.8. Структура командного APDU.
Все поля заголовка имеют по одному байту.