Я не уверен, как интерпретировать этот комментарий.Какой стандарт ты читаешь?У вас есть грамматика ASN.1 для структуры?
Явный тег подобен обертке вокруг некоторого базового типа.Например, базовый тип может быть SEQUENCE.Кодируется универсальным тегом SEQUENCE, 0x30.Но во избежание двусмысленности в том, как следует интерпретировать последовательность SEQUENCE во вложенной структуре, она заключена в структуру EXPLICIT с контекстно-зависимым тегом.Из приведенного выше фрагмента не ясно, что это за тег.
Я предполагаю, что они имеют в виду синтаксис, подобный [0] EXPLICIT SET OF foo
, который (используя пример из исходного вопроса в качестве значения) будет закодирован как(hex) A0 81 C9 31 81 C6 (value) ...
Обратите внимание, что исходное значение, которое было помечено контекстно-специфическим нулем (A0
), было помечено универсальным SET OF (31
).
Хорошо, в данном случае, я думаю, что они имеют в виду, что когда вы подписываете атрибуты, а не используете неявный тег, сигнатура вычисляется по тегу SET OF.Если это то, что они имеют в виду, добавление «EXPLICIT» действительно мутит воду, но неважно.В этом случае кодировка будет просто 31 81 C6 (value) ...
(замените зависящий от контекста 0xA0 универсальным SET OF 0x31).