ГОСТ Р ИСО/МЭК 7816-4—2013
5.2.2.2 Поля длины BER-TLV
В коротком формате поледлины состоит изединичного байта, вкотором бит 8 установлен всостояние
0. а биты с 7 по 1 кодируют число байтов в поле значения. Таким образом, одним байтом может быть
закодировано любое число от нуля до 127.
П р и м е ч а н и е — Любое число от одного до 127 кодируется в поле длины BER-TLV так же. как в полях Ц.
и Le. Кодирование отличается для ноля. 128 и более. Для примера см. кодирование информационных объектов
в команде GET DATA в 7.4.2
В длинном формате поле длины состоит из двух или более байтов. Бит 8 первого байта установлен в
состояние 1. а биты с 7 по 1 не должны быть все равны, таким образом происходит кодирование
последующих байтов в поле длины. Эти последующие байты должны кодировать число байтов в поле
значения.
В стандартах серии ИСО/МЭК 7816 не используют «неопределенную длину», указанную базовыми
правилами кодирования АСН.1.
В стандартах серии ИСО/МЭК 7816 поддерживаются поля длины из одного, двух.... до пяти байтов
(см. таблицу 8). В ИСО/МЭК 7816 значения ’80’ и от ’85’до ’FF’ являются недействительными для первого
байта полейдлины.
Т а б л и ц а 8 — Поля длины BER-TLV по ИСО/МЭК 7816
1* байт2* байт3" байт4* байт5* байтN
1 байтОт 00’ до ’7F’
——
——
ОтО до 127
2 байта
•81*
От 00’ до FF’—
——
От 0 до 255
3 байта’82’
От 0000’ до FFFF’
——
От 0 до 65535
4 байта’83’
От 000000’ до FFFFFF’
—
От 0 до 16777215
5 байтов •84’
От ОООООООО’ до FFFFFFFP
От 0 до 4294967295
5.2.3 Поля данных, поля значений, информационные объекты и элементы данных
Каждое поле данных команды или ответа может быть закодировано в BER-TLV, например в паре
команда-ответ, где CLA указывает безопасный обмен сообщениями (см. 6) или где бит 1 в INS установлен в
состояние 1 (нечетный код INS. см. 5.1.2).
- Любой информационный объект BER-TLV обозначается (T-L-V) с полем тега, за которым следует
поледлины, кодирующее число. В зависимости от того является ли число нулевым или нет. поле значения
отсутствует (пустой информационный объект) или присутствует.
-Любой составной информационный объект обозначается {T-L-{T1-L1-V1}... -{Тn-Ln-Vn}} с полем тега,
за которым следует поле длины, кодирующее число. Если число не является нулевым, то поле значения
составного информационного объекта, т.е. шаблона, состоит изодного или более информационных объек
тов BER-TLV. каждый их которых состоит из поля тега, поля длины, кодирующего число, и если это
число является нулевым, то из поля значения.
Некоторые поля данных, например команды для работы с единицами данных (см.7.2). поля значений
информационный объектов SIMPLE-TLV и поля значений некоторых простых информационных объектов
состоят из элементовданных в соответствии с характеристиками команд или в соответствии с тегом инфор
мационногообъекта.
Некоторые поляданных, например команды для работы с записями (см. 7.3) и поля значений некото
рых простых информационных объектов BER-TLVсостоят из информационных объектов SIMPLE-TLV.
Некоторые поля данных, например команды для работы с информационными объектами (см. 7.4) и
поля значений составных информационных объектов BER-TLV, т.е. шаблонов, состоят из информационных
объектов BER-TLV.
5.2.4 Идентификация элементов данных
Идентификация элементовданных основывается на следующих принципах:
1)Если число битов, представляющих элементданных, не кратно восьми, то преобразование в байт
или строку байтовдолжно бытьуказано в контексте соответствующего элемента данных. Если не указано
иное, соответствующее число битдолжно быть установлено на 1 в последнем байте, начиная с бита 1.
14