Статус: Новичок
Группы: Участники
Зарегистрирован: 17.01.2017(UTC) Сообщений: 6 Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 1 постах
|
Доброго времени суток. Изначально встретил аналогичную проблему тут https://www.cryptopro.ru...aspx?g=posts&t=8840.Проблема в том, что на сообщение https://www.cryptopro.ru...ts&m=75364#post75364 не отвечают больше месяца и непонятно последует ли ответ на то сообщение вообще. Могу присоединиться к пользователю alexpav@inbox.ru и тоже констатировать, что проверка подписи в примере из SDK с использованием XmlDsigSmevTransform завершается результатом "подпись неверна". (пример SignDocument из Xml). Подписывал рабочим сертификатом, разумеется не истекшим. Вопрос: как нужно проверять корректность подписи в СМЭВ 3.х?
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140 Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Добрый день,
Обратите внимание на комментарии в примере: // начиная с .NET 4.5.1 для проверки подписи, необходимо добавить этот трансформ в довернные: // signedXml.SafeCanonicalizationMethods.Add("urn://smev-gov-ru/xmldsig/transform");
Уточните: * какая версия .NET SDK, .NET установлена ? * какая версия .NET Framework ? * какой документ подписываете (из состава примера, собственный) ?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.01.2017(UTC) Сообщений: 6 Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 1 постах
|
* CryptoPro .NET Client - 1.0.5913.0; КриптоПро .NET SDK - 1.0.5913.0 * .NET Framework - 4.0 * брал пример в файле SignDocument.cs
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140 Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Включите трассировку SignedXml. Для этого в файл конфигурации добавьте секцию: Код:
<system.diagnostics>
<sources>
<source name="System.Security.Cryptography.Xml.SignedXml"
switchName="XmlDsigLogSwitch">
<listeners>
<add name="logFile" />
</listeners>
</source>
</sources>
<switches>
<add name="XmlDsigLogSwitch" value="Verbose" />
</switches>
<sharedListeners>
<add name="logFile"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="XmlDsigLog.txt"/>
</sharedListeners>
<trace autoflush="true">
<listeners>
<add name="logFile" />
</listeners>
</trace>
</system.diagnostics>
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.01.2017(UTC) Сообщений: 6 Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 1 постах
|
Да, в логе появилась разумная ошибка: Метод синхронизации "urn://smev-gov-ru/xmldsig/transform" не входит в список безопасных. Безопасны следующие методы синхронизации: "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments", "http://www.w3.org/2001/10/xml-exc-c14n#", "http://www.w3.org/2001/10/xml-exc-c14n#WithComments", "http://www.w3.org/2000/09/xmldsig#enveloped-signature", "http://www.w3.org/2000/09/xmldsig#base64", "urn:mpeg:mpeg21:2003:01-REL-R-NS:licenseTransform", "http://www.w3.org/2002/07/decrypt#XML".
Осталось каким-то образом добавить эту трансформацию в список доверенных в .NET 4.0?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.01.2017(UTC) Сообщений: 6 Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 1 постах
|
По дизассемблированному коду следует, что в реестре должен быть раздел "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeCanonicalizationMethods". И в нем должен быть строковый параметр с произвольным именем и со значением "urn://smev-gov-ru/xmldsig/transform". Теперь подпись успешно проверяется, проблема решена.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close