ГОСТ Р ИСО/МЭК 8825-2-2003
25.3 Компонент «data-value-descriptor» должен присутствовать только в том случае, если «data-value-descriptor» присутствует в абстрактном значении, и иметь то же самое значение.
25.4 Значения «direct-reference» и «indirect-reference» должны присутствовать или отсутствовать в соответствии с таблицей 1. Таблица 1 отображает альтернативы «identification» внешнего типа, определенные в ГОСТ Р ИСО/МЭК 8824-1, 32.5, в компоненты внешнего типа «direct-reference» и «indirect-reference», определенные в 25.1.
|
Таблица 1 — Альтернативные кодирования для «identification» |
|
identification |
direct-reference |
indirect-reference |
|
syntaxes |
♦«НЕДОПУСТИМО*** |
***НЕДОПУСТИМО*** |
|
syntax |
syntax |
ОТСУТСТВУЕТ |
|
presentation-context-id |
ОТСУТСТВУЕТ |
presentation-context-id |
|
context-negotiation |
transfer-syntax |
presentation-context-id |
|
transfer-syntax |
♦«НЕДОПУСТИМО*** |
***НЕДОПУСТИМО*** |
|
fixed |
♦«НЕДОПУСТИМО*** |
***НЕДОПУСТИМО*** |
|
25.5 Значение данных должно быть закодировано согласно синтаксису передачи, идентифицированному кодированием, и помещено в альтернативу выбора «encoding», как указано ниже.
25.6 Если значение данных является значением единственного типа данных АСН. 1 и правила кодирования для этого значения данных являются теми же самыми, как и для полного типа данных «EXTERNAL», то отправляемая реализация должна быть «single-ASN1-type».
25.7 Если кодированное значение данных, использующее согласованное или договорное кодирование, содержит целое число октетов, то отправляемая реализация должна быть «octet-aligned».
Примечание — Значение данных, которое является последовательностью типов АСН. 1 и для которого синтаксис передачи специфицирует простое сцепление строк октетов, созданных применением базовых правил кодирования АСН. 1 для каждого типа АСН. 1, попадает в эту категорию, а не в 25.6.
25.8 Если кодированное значение данных, использующее согласованное или договорное кодирование, содержит не целое число октетов, то для «encoding» должно быть выбрано «arbitrary».
25.9 Если для «encoding» выбрано «single-ASN1-type», то тип АСН. 1 должен заменить открытый тип со значением, равным значению кодируемых данных.
Примечание — Диапазон значений, которые могут встретиться в открытом типе, определяется регистрацией значения идентификатора объекта, ассоциированного с «direct-reference», и/или значением целого числа, ассоциированного с «indirect-reference».
25.10 Если для «encoding» выбрано «octet-aligned», то значение данных должно кодироваться в соответствии с согласованным или договорным синтаксисом передачи, а получающиеся октеты должны образовывать значение строки октетов.
25.11 Если для «encoding» выбрано «arbitrary», то значение данных должно кодироваться в соответствии с согласованным или договорным синтаксисом передачи, а результат должен образовать значение битовой строки.
26 Кодирование ограниченных типов символьных строк
Примечания
1 (Вариант ALIGNED) Символьные строки фиксированной длины, меньшей или равной двум октетам, не выравниваются по октету. Символьные строки переменной длины, ограниченные максимальной длиной меньше двух октетов, не выравниваются по октету. Все другие символьные строки выравниваются по октету. Символьные строки фиксированной длины кодируются без октетов длины, если они короче 64К символов. Для неограниченных или ограниченных символьных строк длиной свыше 64К-1 длина кодируется явно (при необходимости, с фрагментацией). Каждый символ NumericString, PrintableString, VisibleString (IS0646String), IASString, BMPString и UniversalString кодируется в число битов, которое является минимальной степенью двух, позволяющей разместить все символы, допускаемые эффективным ограничением PermittedAlphabet.
2 (Вариант UNALIGNED) Символьные строки не выравниваются по октету. Если есть только одно возможное значение длины, то она не кодируется, если строки короче 64К символов. Для неограниченных или
25