ГОСТ 1»ИСО/МЭК 7816-4-2004
В случае 2 длина данных Lt является нулевой; следовательно поле Lc и поле данных являются
пустыми. Длина данных L. не является нулевой; следовательно поле Lc присутствует. В результате
тело состоит из поля Lf.
В случае 3 длина данных L. не является нулевой; следовательно поле L. присутствует, а поле
данных состоит из Lt последующих байтов. Длина данных Ц. является нулевой; следовательно поле
L, является пустым. В результате тело состоит из поля Lc, сопровождаемого полем данных.
В случае 4 длина данных Lc не яатяется нулевой; следовательно поле Lt присутствует, а поле
данных состоит из Lt последующих байтов. Длина данных L. также не является нулевой; следова
тельно поле L. также присутствует. В результате тело состоит из поля Ц, сопровождаемого полем
данных и полем Lt.
5.3.2 С о г л а ш е н и япо д е к о д и р о в а н и ют е л ак о м а н д ы
В случае I тело командного APDU яатяется пустым. Такой командный APDU не несет поле
длины.
В случаях 2—4 тело командного APDU состоит из строки, образованной L байтами, обознача
емыми символами В, ... В, , как показано на рисунке 5. Такое тело несет одно или два поля длины;
байт В, представляет собой первое поле длины или его часть.
Тело нэмноя
l
B
v
-.B(L байтов)
Рисунок 5 —Непустое тело
В данных, представляющих функциональные возможности карты (см. 8.3.6), карта устанавли
вает, что в командном APDU поля Lt и L{:
- либо должны быть короткими (один байт по умолчанию),
- либо могут быть расширенными (явное сообщение).
Следовательно, случаи 2—4 являются либо короткими (один байт для каждого поля длины),
либо расширенными (байту В, присваивается значение ’00’, а значение каждой длины колируется в
двух других байтах).
Втаблице 5 представлено декодирование командных APDU, соответствующих четырем случа
ям, приведенным в таблице 4
и
на рисунке 4. и возможному расширению полей
L
l
и
L.. Любой
другой командный APDU является недействительным.
Т а б л и и а 5—Декодирование командных APDU
11
УелоНИСлучай
L = 0——1
L - 1——2. короткий (2К)
L-l+(Bi);
L = 2+(Bi);
(В,)* 0;
(В,) * 0;
—
—
3, короткий (ЗК)
4, короткий (4К)
L = 3;
L - 3+(В: || В,);
(В, IIВ,) * о
L - 5+(Вд || Bj):
(В,)-0:
<В,) = 0:
(В,)-0:
(В, IIВ,)*0
2, расширенный <2Р)
3. расширенный <ЗР)
4. расширенный <4Р)
Соглашения по декодированию поля Ц следующие.
Если значение Ц закодировано в одном (двух) байте(ах), где не все биты являются нулевыми,
то оно равно значению байта(ов), которое находится в диапазоне от 1до 255 (от I до 65535); нулевые
значения всех битов означают максимальное значение Lc: 256 (65536).
Следующие первые четыре случая относятся ко всем картам.
С л у ч а й I
L = 0; тело является пустым. Для этого случая:
II