5.2.3. Подписание сообщений и проверка электронной подписи сообщений
Подписание и проверка электронной подписи сообщений осуществляются в соответствии со спецификацией WS Security 1.1.1. Рекомендации по созданию и проверке электронной подписи приведены в Приложении 1.
Структура элемента wsse:Security, содержащего электронную подпись, представлена в Таблицах 5.3 - 5.4.
ТАБЛИЦА 5.3. СТРУКТУРА ЭЛЕМЕНТА WSSE:SECURITY, СОДЕРЖАЩЕГО ЭЛЕКТРОННУЮ ПОДПИСЬ
N
|
Элемент
|
Описание
|
Область значений
|
Мн.
|
а)
|
Признак обязательности интерпретации (@soap:mustUnderstand)
|
признак того, что получатель сообщения должен обработать элемент согласно спецификации. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
логическое значение
|
1
|
1
|
Сертификат ключа проверки электронной подписи (wsse:BinarySecurityToken)
|
сертификат ключа проверки электронной подписи, с помощью которой подписано сообщение
|
строка символов, закодированная с помощью Base64
|
1
|
а)
|
Идентификатор (@wsu:Id)
|
уникальный идентификатор элемента в сообщении
|
идентификатор элемента документа
|
1
|
б)
|
Вид (@ValueType)
|
стандарт сертификата ключа проверки электронной подписи. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
в)
|
Кодировка (@EncodingType)
|
схема кодирования сертификата ключа проверки электронной подписи. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
2
|
Электронная подпись (ds:Signature)
|
электронная подпись сообщения согласно таблице 5.4
|
структура сведений описана в Таблице 5.4
|
1
|
ТАБЛИЦА 5.4. СТРУКТУРА ЭЛЕКТРОННОЙ ПОДПИСИ (DS:SIGNATURE)
N
|
Элемент
|
Описание
|
Область значений
|
Мн.
|
1
|
Подписываемые сведения (ds:SignedInfo)
|
набор подписываемых элементов, содержащих хеш бизнес-сообщения и набор инструкций по обработке хеша и подписи
|
определяется областями значений вложенных элементов
|
1
|
1.1
|
Метод каноникализации (ds:Canonicalization Method)
|
инструкции по каноникализации
|
отсутствует
|
1
|
а)
|
Алгоритм (@Algorithm)
|
алгоритм каноникализации. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
1.2
|
Метод подписывания (ds:SignatureMethod)
|
элемент, содержащий алгоритм формирования и проверки подписи
|
отсутствует
|
1
|
а)
|
Алгоритм (@Algorithm)
|
идентификатор алгоритма формирования и проверки подписи. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
1.3
|
Ссылка (ds:Reference)
|
ссылка на данные, для которых формируется хеш
|
определяется областями значений вложенных элементов
|
1
|
а)
|
Идентификатор (@URI)
|
идентификатор хешируемой области. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
идентификатор элемента документа
|
1
|
1.3.1
|
Преобразования (ds:Transforms)
|
инструкции по преобразованиям хешируемой области
|
определяется областями значений вложенных элементов
|
1
|
1.3.1.1
|
Преобразование (ds:Transform)
|
элемент, содержащий единичную инструкцию по преобразованию хешируемой области
|
определяется областями значений вложенных элементов
|
1
|
а)
|
Алгоритм (@Algorithm)
|
идентификатор алгоритма преобразования. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
1.3.1.2
|
Метод хеширования (ds:DigestMethod)
|
сведения о методе хеширования
|
отсутствует
|
1
|
а)
|
Алгоритм (@Algorithm)
|
идентификатор алгоритма хеширования. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|
1.3.1.3
|
Хеш (ds:DigestValue)
|
значение хеша
|
строка символов, закодированная с помощью Base64
|
1
|
2
|
Значение подписи (ds:Signature Value)
|
значение подписи
|
определяется областями значений вложенных элементов
|
1
|
3
|
Сведения о ключе (ds:KeyInfo)
|
сведения об открытом ключе, используемом для проверки подписи
|
определяется областями значений вложенных элементов
|
1
|
3.1
|
Ссылка на токен (wsse: SecurityTokenReference)
|
сведения о местонахождении ключа
|
определяется областями значений вложенных элементов
|
1
|
3.1.1
|
Ссылка (wsse:Reference)
|
элемент, содержащий идентификатор местонахождения ключа
|
отсутствует
|
1
|
а)
|
Идентификатор (@URI)
|
идентификатор местонахождения ключа. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
идентификатор элемента документа
|
1
|
б)
|
Вид (@ValueType)
|
стандарт сертификата ключа. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1
|
унифицированный идентификатор ресурса
|
1
|