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

ГОСТ Р ИСО/МЭК 8825-2-2003 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 2. Спецификация правил уплотненного кодирования (PER)

     25 Кодирование значения внешнего типа

25.1 Кодирование значения внешнего типа должно быть кодированием PER следующего типа "последовательность", для которого принята среда явного тегирования EXPLICIT TAGS, со значением, определенным в последующих подразделах:

[UNIVERSAL 8] IMPLICIT SEQUENCE {

direct-reference

OBJECT IDENTIFIER OPTIONAL,

indirect-reference

IDENTIFIER OPTIONAL,

data-value-descriptor

ObjectDescriptor OPTIONAL,

encoding

CHOICE {

single-ASN1-type

[0] ABSTRACT-SYNTAX.&Type,

octet-aligned

[1] IMPLICIT OCTET STRING,

arbitrary

[2] IMPLICIT BIT STRING}}


Примечание - Этот тип "последовательность" является тем же типом, который был определен в ГОСТ Р ИСО/МЭК 8824-93.

25.2 Значения компонентов зависят от передаваемого абстрактного значения, которое является значением типа, определенного в ГОСТ Р ИСО/МЭК 8824-1, 32.5.

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", то значение данных должно кодироваться в соответствии с согласованным или договорным синтаксисом передачи, а результат должен образовать значение битовой строки.