2 378 документов
← К списку

КонвертXML

страница

Возвращает шаблон формата XML, содержащий один стандартный элемент Signature (см. стандарт https://www.w3.org/TR/xmldsig-core1) с одним элементом Reference и заполненным атрибутом URI (ссылка на сообщение XML, которое будет подписано). Возвращаемый шаблон содержит параметры %SignatureMethod%, %DigestMethod%, %DigestValue%, %SignatureValue%, %BinarySecurityToken%, которые автоматически заполняются при подписании. Параметры %SignatureMethod% (алгоритм подписи в формате xml) и %DigestMethod% (алгоритм хеширования в формате xml) вычисляются по алгоритму открытого ключа сертификата, которым выполняется подписание, сначала по таблице, указанной в ПараметрыXMLDSig, затем если таблица не заполнена или соответствие не найдено, по внутренней таблице соответствия (рекомендуется). Поддерживаются также шаблоны с несколькими элементами Signature и несколькими элементами Reference. Подпись будет добавлена в первый найденный элемент Signature, не содержащий значение подписи. Поддерживаются алгоритмы подписания и хеширования ГОСТ 94…2012. Поддерживаются алгоритмы канонизации: Exclusive XML Canonicalization 1.0 http://www.w3.org/2001/10/xml-exc-c14n# http://www.w3.org/2001/10/xml-exc-c14n#WithComments Canonical XML 1.0 http://www.w3.org/TR/2001/REC-xml-c14n-20010315 http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments Canonical XML 1.1 http://www.w3.org/2006/12/xml-c14n11 http://www.w3.org/2006/12/xml-c14n11#WithComments Enveloped signature (по факту игнорируется, так как не поддерживается пустой URI в элементе SignedInfo.Reference): http://www.w3.org/2000/09/xmldsig#enveloped-signature СМЭВ рекомендации 3.5.0.1, "АЛГОРИТМ трансформации XML": urn://smev-gov-ru/xmldsig/transform Сертификат может быть указан в KeyInfo, как base64 значение:

  • либо в виде элемента X509Data.X509Certificate
  • либо в виде элемента KeyInfoReference.Reference или SecurityTokenReference.Reference с URI на элемент со значением.

Синтаксис

Функция КонвертXML(Параметры = Неопределено) Экспорт

Параметры

Возвращаемое значение

Строка

Пример вызова

ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML();
ПараметрыКонверта.Вариант = "furs.mark.crpt.ru_v1";
ПараметрыКонверта.СообщениеXML =
"    <getProductDetailsResponse xmlns=""http://warehouse.example.com/ws"">
|      <getProductDetailsResult>
|       <productID>12345</productID>
|       <productName>Стакан граненый</productName>
|       <description>Стакан граненый. 250 мл.</description>
|       <price>9.95</price>
|       <currency>
|         <code>840</code>
|         <alpha3>USD</alpha3>
|         <sign>$</sign>
|         <name>US dollar</name>
|         <accuracy>2</accuracy>
|       </currency>
|       <inStock>true</inStock>
|     </getProductDetailsResult>
|   </getProductDetailsResponse>";
КонвертXML = ЭлектроннаяПодписьКлиент.КонвертXML(Параметры);

Доступность

Тонкий клиент, Толстый клиент