ГОСТ Р ИСО/МЭК 7816-3—2013
12.1.2 Поля данных в паре команда-ответ
Каждая пара команда-ответ может содержать в себе поле данных команды н/или поле данных
ответа.
- N — число байтов в поле данных команды. Если Л/с* 0. то поле L. присутствует для кодирования
W и поле данных команды состоит из последовательных байтов W . Если
N
= 0. то и поле L., и поле
данных команды отсутствует:
-
Nя—
максимальное число байтов, ожидаемых в поле данных ответа. Если /V * 0. то поле
Lt
присутствует для кодирования /V . Если
Nu
= 0. то поле Lt отсутствует;
-
N,
— число байтов в поле данных ответа. Л/, должно быть от нуля до Л/.. Если
N.
= 0. то поле
данных ответа отсутствует.
Случай 1 — Л/ = Л/ * 0. Командный APDU состоит из заголовка, поля Lc, поля данных команды, а
поле L. отсутствует. Ответный APDU состоит из завершителя, а поле данных ответа отсутствует.
Случай 2 — N = 0. W * 0. Командный APDU состоит из заголовка и поля L#. Поле L и поле данных
команды отсутствуют. Ответный APDU состоит из поля данных ответа и завершителя.
Случай 3 — Л/е* 0. А/, = 0. Командный APDU состоит из заголовка, поля Lcи поля данных команды,
а поле 1_шотсутствует. Ответный APDU состоит из завершителя, а поле данных ответа отсутствует.
Случай 4 — W * 0. А/ * 0. Командный APDU состоит из заголовка, поля L.. поля данных команды
и поля L„. Ответный APDU состоит из поля данных ответа и завершителя.
В таблице 12 суммированы четыре возможных случая пары команда-ответ.
Т аб лиц а 12 — Поля данных в паре команда-ответ
Случай 1
Поле данных команды отсутствует
Поле данных ответа отсутствует
Случай 2
Поле данных команды отсутствует
Поле данных ответа имеется
Случай 3
Поле данных команды имеется
Поле данных ответа отсутствует
Случай 4
Поле данных команды имеется
Поле данных ответа имеется
На рисунке 26 показаны 4 структуры командных APDU в соответствии с предыдущими четырьмя
случаями:
- командный APDU в случае 1 состоит из заголовка:
- командный APDU в случае 2 состоит из заголовка и поля
Lj,
- командный APDU в случае 3 состоит из заголовка, поля Lcи поля данных;
- командный APDU в случае 4 состоит из заголовка, поля Lc, поля данных и поля L,.
Случай 1__________________| Заголовок команды
Случай 2| Заголовок команды |Поле Le|_________________
Случай 3
_________
| Заголовок команды | Поле 1с | Поле данных|
Случай 4 | Заголовок команды |Поле Lc | Поледанных| Поле
Рисунок 26 — Четыре структуры командных APDU
Следовательно, в любой паре команда-ответ отсутствие поля L. в командном APDU является
стандартным способом для приема отсутствующего поля данных ответа в ответном APDU.
12.1.3 Порядок кодирования для командных APDU
Рисунок 27 иллюстрирует командный APDU как строку из
п
байтов. Заголовок состоит из первых
четырех байтов, а именно CLA INS Р1 Р2. Тело состоит из всех последовательных байтов, а именно от
С(5) до С(л), если они имеются.
32