Действующий

СТО БР НПС-1.4-2019 Финансовые сообщения в НПС. Правила обмена данными в национальной платежной системе

     Таблица 5.4. Структура электронной подписи (ds:Signature)

N

Элемент

Описание

Область значений

Мн.

1

Подписываемые сведения (ds:Signedlnfo)

набор подписываемых элементов, содержащих хеш бизнес-сообщения и набор инструкций по обработке хеша и подписи

определяется областями значений вложенных элементов

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:Keylnfo)

сведения об открытом ключе, используемом для проверки подписи

определяется областями значений вложенных элементов

1

3.1

Ссылка на токен (wsse:SecurityToken Reference)

сведения о местонахождении ключа

определяется областями значений вложенных элементов

1

3.1.1

Ссылка (wsse:Reference)

элемент, содержащий идентификатор местонахождения ключа

отсутствует

1

а)

Идентификатор (@URI)

идентификатор местонахождения ключа. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1

идентификатор элемента документа

1

б)

Вид (@ValueType)

стандарт сертификата ключа. Атрибут имеет фиксированное значение в соответствии с описанием Приложения 1

унифицированный
идентификатор
ресурса

1

5.2.4. Шифрование и расшифрование сообщений

Шифрование и расшифрование сообщений осуществляются в соответствии со спецификацией WS Encryption 1.1. Шифрование сообщений выполняется после их подписания.

Шифрование сообщения осуществляется следующим образом.

1. В заголовок транспортного конверта сообщения добавляется элемент wsse:Security. Данный элемент должен предшествовать элементу wsse:Security, содержащему электронную подпись, если таковой имеется.

2. Сертификат открытого ключа, с помощью которого шифруется сообщение, включается в элемент wsse:Security/wsse:BinarySecurityToken. Сертификат соответствует стандарту Х.509 (указывается в атрибуте ValueType) и кодируется с использованием стандарта кодирования Base64 (указывается в атрибуте EncodingType).

3. В элементе wsse:Security/xenc:EncryptedKey/ds:Keylnfo указывается ссылка на сертификат открытого ключа.

4. Бизнес-сообщение, содержащееся в элементе soap: Body шифруется в соответствии со спецификацией XML Encryption 1.1. Зашифрованное сообщение помещается в элемент xenc:EncryptedData, который заменяет исходное бизнес-сообщение.

5. В элементе wsse:Security/xenc:EncryptedKey/xenc:Referencelist указывается ссылка на зашифрованное сообщение.

Расшифрование сообщения осуществляется следующим образом.

1. Если в заголовке транспортного конверта сообщения содержится элемент wsse:Security/xenc:EncryptedKey, то сообщение является зашифрованным и требуется его расшифрование.

2. Для сертификата открытого ключа, ссылка на который указана в элементе wsse:Security/xenc:EncryptedKey/ds:Keylnfo, определяется закрытый ключ для расшифрования сообщения.

3. Данные, ссылка на которые указана в элементе wsse:Security/xenc:EncryptedKey/xenc:Referencelist, дешифруются с помощью закрытого ключа. Результат помещается в сообщение вместо зашифрованных данных.

4. Из сообщения удаляется элемент wsse:Security, содержащий сведения о шифровании сообщения.

5. В случае невозможности расшифровать сообщение формируется сообщение об ошибке в соответствии с требованиями раздела 5.2.5 Стандарта.

Структура элемента wsse:Security, содержащего сведения о шифровании сообщения, описана в Таблицах 5.5-5.6.