Stack Overflow на русском Asked by Dmitry Pavlushin on January 7, 2021
Пытаюсь подписать запрос для отправки в СМЭВ шлюз. У меня есть пример запроса, где элемент Transforms имеет следующий вид:
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/>
<Transforms>
насколько я понял, режим подписания CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED не подходит, если нужно несколько Transform’ов. Я стал использовать CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE. Передаю CPSigner’у примерно следующий XML:
<request xmlns="http://www.bftcom.com/smevgate/">
...
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
...
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/>
</Transforms>
..
</Reference>
...
</Signature>
...
</request>
На вызове oSignedXml.Sign(oSigner) валится “An error was encountered while processing an XML digital signature. (0x800705BA)” где-то во внутренностях плагина. Убираю трансформ – всё корректно подписывается. Плагин не умеет работать с этим алгоритмом? Через Sharpei мне до этого удалось корректно подписать.
Версия плагина 1.2.4, версия CSP – 4.0.9939, браузер Chrome 65.0.3325.181
Answered by Ivan Tikhonov on January 7, 2021
Нет, не умеет. И на данный момент реализация этой трансформы в ближайшем времени ими не планируется.
Answered by m.m on January 7, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP