Шаг в прикладном протоколе состоит из посылки команды, обработки ее принимающей стороной и посылки ответа в обратном направлении. Таким образом, конкретный ответ соответствует конкретной команде; вместе они именуются парой команда-ответ.
Блок данных прикладного протокола (APDU) содержит либо командное, либо ответное сообщение, посылаемое карте с устройства сопряжения, или наоборот.
В паре команда-ответ командное и ответное сообщения могут содержать данные, следствием чего являются четыре случая, обобщенные в таблице 4.
Таблица 4 - Данные в паре команда-ответ
Случай | Данные команды | Ожидаемые данные ответа |
1 | Нет данных | Нет данных |
2 | То же | Данные |
3 | Данные | Нет данных |
4 | " | Данные |
5.3.1 Командный APDU
Представленный на рисунке 3 (см. также таблицу 6) командный APDU, определяемый в настоящем стандарте, состоит из:
- обязательного заголовка из четырех байтов (CLA, INS, P1, P2),
- условного тела переменной длины.
Рисунок 3 - Структура командного APDU
Число байтов, представленных в поле данных командного APDU, обозначается .
Максимальное число байтов, ожидаемых в поле данных ответного APDU, обозначается (длина ожидаемых данных). Если поле содержит только нули, то запрашивается максимальное число имеющихся байтов данных.
На рисунке 4 представлены четыре структуры командных APDU, соответствующие четырем случаям из таблицы 4.
Рисунок 4 - Четыре структуры командных APDU
В случае 1 длина данных является нулевой; следовательно поле и поле данных являются пустыми. Длина данных также является нулевой; следовательно и поле является пустым. В результате тело является пустым.
В случае 2 длина данных является нулевой; следовательно поле и поле данных являются пустыми. Длина данных не является нулевой; следовательно поле присутствует. В результате тело состоит из поля .
В случае 3 длина данных не является нулевой; следовательно поле присутствует, а поле данных состоит из последующих байтов. Длина данных является нулевой; следовательно поле является пустым. В результате тело состоит из поля, сопровождаемого полем данных.
В случае 4 длина данных не является нулевой; следовательно поле присутствует, а поле данных состоит из последующих байтов. Длина данных также не является нулевой; следовательно поле также присутствует. В результате тело состоит из поля , сопровождаемого полем д
анных и полем .