Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 7816-4-2004 Информационная технология (ИТ). Карты идентификационные. Карты на интегральных схемах с контактами. Часть 4. Межотраслевые команды для обмена

     5.3 Структуры APDU-сообщений


Шаг в прикладном протоколе состоит из посылки команды, обработки ее принимающей стороной и посылки ответа в обратном направлении. Таким образом, конкретный ответ соответствует конкретной команде; вместе они именуются парой команда-ответ.

Блок данных прикладного протокола (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 длина данных не является нулевой; следовательно поле присутствует, а поле данных состоит из последующих байтов. Длина данных также не является нулевой; следовательно поле также присутствует. В результате тело состоит из поля , сопровождаемого полем д

анных и полем .