Конверт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- Неопределенно - использовать параметры по умолчанию.
Возвращаемое значение
Строка
Пример вызова
ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонверта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(Параметры);Доступность
Тонкий клиент, Толстый клиент