ГОСТ Р ИСО 10303-21—2022
директивы могут быть представлены в любой позиции, где может появиться разделитель лексем (token
separator), а также внутри строк (string) и двоичных значений (binaries). Подробности, касающиеся раз
делителей лексем, приведены в таблице 3. Комбинации графических символов должны появляться
вместе без вставки между ними каких-либо графических символов.
Внутри строк также разрешены явные директивы управления процедурой печати. Директивы
"\N\" и "\F\" не включают в значимое содержание строки. При кодировании строк см. 6.4.3. Директивы
управления процедуры печати "\N\" и "\F\" используют только для печатного представления структуры
обмена, и в других случаях они должны игнорироваться. Приложение G представляет руководство по
распечатке структуры обмена.
Директивы не должны появляться в лексемах UNIVERSAL_RESOURCE_ IDENTIFIER, в секции
привязки (см. раздел 9) или в ссылочной секции (см. раздел 10).
Таблица 6 — Директивы управления печатью
Последовательность графических символов
Значение
\N\ REVERSE_SOLIDUS N REVERSE_SOLIDUS
NEWLINE (новая строка)
F\ REVERSE_SOLIDUS F REVERSE_SOLIDUS
FORMFEED (перевод страницы)
14 Секции подписи
14.1 Структура секции подписи
Синтаксис секции подписи определен в таблице 3. Секция подписи является необязательной.
Если секция подписи включена в структуру обмена, то она должна быть расположена после содер
жания, которое проверяется этой подписью. Может быть несколько секций подписи. Каждая
секция должна начинаться со специальной лексемы "SIGNATURE;" и заканчиваться специальной
лексемой "ENDSEC;".
Каждая подпись должна проверять содержимое, которое предшествует лексеме "SIGNATURE;",
включая любые ранее определенные подписи.
Подпись должна быть структурирована в соответствии с синтаксисом криптографических сообще
ний (CMS) для подписи с внешним контентом. Определение CMS приведено в 3.1.7.6.
Примечание — Внешним контентом, поскольку данные включены в разделы над подписью и не включе
ны в подпись.
При вычислении message_digest для CMS реализация должна включать только символы алфа
вита, определенного в таблице 1. Определение message_digest приведено в 3.1.7.7.
Структура CMS должна быть записана в структуру обмена с использованием кодирования base64.
Определение base64 см. в 3.1.7.5.
Пример
—
Три строки подписи.
SIGNATURE;
MIIGpgYJKoZlhvcNAQcCollGlzCCBpMCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCA9cwggPTMIICu6ADAgECAgEEMA0GCSqGSIb3DQEBCwUAMHoxEzARBgoJ
kiaJk/lsZAEZFgNjb20xGTAXBgoJkiaJk/lsZAEZFglzdGVwdG9vbHMxFzAVBgNV
ENDSEC;
Примечания
1 Содержание подписи описано в RFC 5652, раздел 5. Кодирование подписи описано в RFC 4648, раздел 4.
2 Согласно таблице 3, первая подпись дается после лексемы "ISO-10303-21;", а остальные следуют за каж
дым подписываемым содержанием, проверяя вседанные алфавита, которые предшествуют символу "S" влексеме
SIGNATURE.
53