См. форматы взаимодействия Государственной информационной системы о государственных и муниципальных платежах с информационными системами участников, утв. Казначейством России 21.10.2016 (версия 1.16.3).

4.3. Подпись под сущностью, запросом

Значение ЭП должно рассчитываться для элемента сущности, запроса и его составных элементов.

В процессе создания электронной подписи информационной системы должны использоваться алгоритмы для расчета хеш-сумм, формирования подписи и каноникализации, приведенные в Таблице N 14 "Алгоритмы формирования подписи".

Таблица N 14

АЛГОРИТМЫ ФОРМИРОВАНИЯ ПОДПИСИ

Наименование

URI

Расчет хэш-сумм

ГОСТ Р 34.11-94

http://www.w3.org/2001/04/xmldsig-more#gostr3411

Формирования подписи

ГОСТ Р 34.10-2001

http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411, http://www.w3.org/TR/XAdES/

Каноникализация

Exclusive XML Canonicalization от 18 July 2002

http://www.w3.org/2001/10/xml-exc-c14n#

Формирование блока ЭП осуществляется в следующем порядке:

1 Формирование шаблона документа:

1.1 Создается элемент Signature;

1.2 К элементу Signature добавляется дочерний элемент SignedInfo;

1.3 К элементу SignedInfo добавляется дочерний элемент CanonicalizationMethod;

1.4 К элементу SignedInfo добавляется дочерний элемент SignatureMethod;

1.5 К элементу SignedInfo добавляется первый дочерний элемент Reference;

1.6 К элементу Reference добавляется дочерний элемент Transforms;

1.7 К элементу Transforms элемента Reference добавляется дочерний элемент Transform (два элемента);

1.8 К элементу Reference добавляется элемент DigestMethod;

1.9 К элементу Reference добавляется элемент DigestValue;

1.10 К элементу Signature добавляется дочерний элемент SignatureValue;

1.11 К элементу Signature добавляется дочерний элемент KeyInfo;

1.12 К элементу KeyInfo добавляется дочерний элемент X509Data;

1.13 К элементу X509Data добавляется дочерний элемент X509Certificate;

1.14 К элементу Signature добавляется дочерний элемент Object;

1.15 К элементу Object добавляется дочерний элемент QualifyingProperties;

1.16 К элементу QualifyingProperties добавляется дочерний элемент SignedProperties;

1.17 К элементу SignedProperties добавляется дочерний элемент SignedSignatureProperties;

1.18 К элементу SignedProperties добавляется дочерний элемент SignedDataObjectProperties;

1.19 К элементу QualifyingProperties добавляется дочерний элемент UnSignedProperties;

1.20 К элементу UnSignedProperties добавляется дочерний элемент UnsignedSignatureProperties;

2 Установка предопределенных значений

2.1 Для элемента CanonicalizationMethod и для второго элемента Transform элемента Reference значения атрибута Algorithm устанавливается в "http://www.w3.org/2001/10/xml-exc-c14n#".

2.2 Для первого элемента Transform алгоритм выставляется значение "http://www.w3.org/2000/09/xmldsig#enveloped-signature".

2.3 Для элементов DigestMethod первого значения атрибута Algorithm устанавливается в "http://www.w3.org/2001/04/xmldsig-more#gostr3411".

2.4 Для элемента SignatureMethod значение атрибута Algorithm устанавливается в "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411".

2.5 Атрибут URI элемента Reference должен быть заполнен значением атрибута Id подписываемой сущности.

3 Установка подписи

3.1 Открытый ключ подписи, закодированный по алгоритму "http://www.w3.org/2000/09/xmldsig#base64", добавляется к элементу X509Certificate как дочерний текстовый узел.

3.2 Подписываются элементы документа, выбранные посредством XPATH выражения на основе значения атрибута URI элемента Reference (если элемент URI имеет пустое значение, то подписывается полностью весь тег сущности). Полученное значение кодируется по алгоритму "http://www.w3.org/2000/09/xmldsig#base64" и добавляется как дочерний текстовый узел к элементу DigestValue первого элемента Reference.

3.3 Элемент SignedInfo трансформируется в соответствии с алгоритмом "http://www.w3.org/2001/10/xml-exc-c14n#". Затем на основании полученной строки и ключа подписи формируется значение ЭП в соответствии с алгоритмом "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411". Полученное значение ЭП кодируется в соответствии с алгоритмом "http://www.w3.org/2000/09/xmldsig#base64", и значение добавляется как дочерний текстовый узел к элементу SignatureValue.

3.4 Элемент QualifyingProperties заполняется в соответствии с описанием, расположенным по адресу http://www.w3.org/TR/XAdES/#Syntax_overview_The_QualifyingProperties - для соответствия ЭП формату XadES-T.