logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

4 Страницы«<234
Опции
К последнему сообщению К первому непрочитанному
Offline archimed7592  
#61 Оставлено : 4 июня 2018 г. 14:08:32(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Автор: spider Перейти к цитате
Автор: mdervel Перейти к цитате
В продолжение темы проверки подписи.
Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи.


Столкнулись с такой же проблемой. Нет ли решения от КриптоПро ? Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа


Вступаю в ваш клуб :)
Есть ли решение / workaround?
Offline archimed7592  
#62 Оставлено : 4 июня 2018 г. 18:48:26(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Автор: archimed7592 Перейти к цитате
Автор: spider Перейти к цитате
Автор: mdervel Перейти к цитате
В продолжение темы проверки подписи.
Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи.


Столкнулись с такой же проблемой. Нет ли решения от КриптоПро ? Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа


Вступаю в ваш клуб :)
Есть ли решение / workaround?


Отвечаю на свой же вопрос: помогло обновление Windows, CSP, CP.NET. Что именно - не знаю, не было возможности на бою проверять по отдельности.
Вероятно, дело именно в Windows, а именно, в каком-нибудь из обновлений .NET т.к., судя по рефлектору, проблемная часть кода, сортирующая атрибуты, не изменилась.
Offline archimed7592  
#63 Оставлено : 6 июня 2018 г. 8:04:31(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.
По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.
Offline RomanK  
#64 Оставлено : 13 июня 2018 г. 9:14:02(UTC)
RomanK

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
Сообщений: 5
Откуда: Россия

Сказал(а) «Спасибо»: 1 раз
Зарегистрировались в смэв3 в среде разработки. Запрос уходит корректно, ответ от смэв приходит правильный.
А вот когда запрашиваю данные, вызывая метод GetResponse, возвращается пустой ответ.
Запросы делал на основе примеров, выложенных на технологическом портале смэв.
Всё вроде делаю правильно, но данных нет. Никто не знает, в среде разработки данные на запросы вообще приходят или нет и у меня нормальная ситуация?
Offline archimed7592  
#65 Оставлено : 13 июня 2018 г. 11:28:20(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Про среду разработки не скажу, а на тестовой среде нужно указать тэг TestMessage, чтобы ответ какой-нибудь пришел.
thanks 1 пользователь поблагодарил archimed7592 за этот пост.
RomanK оставлено 13.06.2018(UTC)
Offline RomanK  
#66 Оставлено : 13 июня 2018 г. 12:01:49(UTC)
RomanK

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
Сообщений: 5
Откуда: Россия

Сказал(а) «Спасибо»: 1 раз
Автор: archimed7592 Перейти к цитате
Про среду разработки не скажу, а на тестовой среде нужно указать тэг TestMessage, чтобы ответ какой-нибудь пришел.


Спасибо за совет! Поставил тэг TestMessage, данные получил.
Offline RomanK  
#67 Оставлено : 18 июня 2018 г. 6:59:23(UTC)
RomanK

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
Сообщений: 5
Откуда: Россия

Сказал(а) «Спасибо»: 1 раз
Может кто подскажет, какая последовательность действий при получении данных из смэв3? Сначала отправляем запрос, потом пробуем получить данные.
Нужно ли после получения данных вызывать Ack с ID запроса, с которым эти данные пришли или нет? Имеется в виду OriginalMessageId
Offline archimed7592  
#68 Оставлено : 18 июня 2018 г. 7:39:37(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Нужно вызывать Ack с ID ответного сообщения.
Offline Кирилл Соболев  
#69 Оставлено : 18 июня 2018 г. 13:54:46(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,729
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 175 раз в 167 постах
Автор: archimed7592 Перейти к цитате
Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.
По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.

Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям.
Можете привести примеры с правильным и неправильным порядком атрибутов?

Техническую поддержку оказываем тут
Наша база знаний
Offline archimed7592  
#70 Оставлено : 20 июня 2018 г. 7:48:37(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
2018-06-19T09-47.zip (57kb) загружен 5 раз(а).
Автор: Кирилл Соболев Перейти к цитате
Автор: archimed7592 Перейти к цитате
Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.
По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.

Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям.
Можете привести примеры с правильным и неправильным порядком атрибутов?



Могу дать два примера - один который проходит проверку подписи, другой, который не проходит. К сожалению, это будет не один и тот же XML, а два разных ответа от сервера, т.е. так по простому мне не удалось понять почему один проходит проверку, а другой - нет.

Во вложении архив 2018-06-19T09-47.zip (57kb) загружен 5 раз(а).
Документ 7152aa75-2827-43ce-b00b-e16a42dd2600 - не проходит проверку подписи.
Документ 7957405b-74d5-4d5f-8294-4e1419c2e696 - проходит проверку успешно.

Проверка делается в соответствии с "Crypto Pro\.NET SDK\Examples\simple\Xml\cs\SignDocument.cs" метод VerifyXmlFile с дополнительным signedXml.SafeCanonicalizationMethods.Add("urn://smev-gov-ru/xmldsig/transform") как рекомендовано в том же файле в методе SignXmlFile.

По каждому из документов в архиве вы найдете:
  • mtom - оригинальный ответ от сервера
  • original.xml - вычлененный из MTOM документ XML, который собственно и проверяем
  • transformed.xml - взято из лога XmlDsig - то от чего SignedXml пытается посчитать хэш
  • XmlDsigLog.txt - лог проверки документа


Достаточно ли этого или нужно взять документ, который не проходит, и показать как правильно его трансформировать чтобы проходило?
Offline RomanK  
#71 Оставлено : 22 июня 2018 г. 9:14:30(UTC)
RomanK

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
Сообщений: 5
Откуда: Россия

Сказал(а) «Спасибо»: 1 раз
Автор: archimed7592 Перейти к цитате
Нужно вызывать Ack с ID ответного сообщения.


Не расскажете алгоритм взаимодействия со СМЭВ 3? Не совсем разобрался с очередями. После того, как поставщик данных отправил свой ответ, я его получаю, отправляю Ack. А что происходит с ответом поставщика в очереди ответов?
В тестовой среде какая то ерунда, ответ как висел, так и висит, отправляй Ack на него или нет, и не понятно, это нормальное поведение или нет.
Offline archimed7592  
#72 Оставлено : 22 июня 2018 г. 15:53:35(UTC)
archimed7592

Статус: Участник

Группы: Участники
Зарегистрирован: 26.02.2014(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Поблагодарили: 1 раз в 1 постах
Автор: RomanK Перейти к цитате
Автор: archimed7592 Перейти к цитате
Нужно вызывать Ack с ID ответного сообщения.


Не расскажете алгоритм взаимодействия со СМЭВ 3? Не совсем разобрался с очередями. После того, как поставщик данных отправил свой ответ, я его получаю, отправляю Ack. А что происходит с ответом поставщика в очереди ответов?
В тестовой среде какая то ерунда, ответ как висел, так и висит, отправляй Ack на него или нет, и не понятно, это нормальное поведение или нет.


Это с крипографией не связано.
См. http://bankir.ru/dom/for...0%BC-%D0%B8-%D0%BE%D0%BC
Offline Михаил_Б_Л  
#73 Оставлено : 29 июня 2018 г. 3:24:23(UTC)
Михаил_Б_Л

Статус: Новичок

Группы: Участники
Зарегистрирован: 29.06.2018(UTC)
Сообщений: 1
Российская Федерация

Автор: Кирилл Соболев Перейти к цитате
Автор: archimed7592 Перейти к цитате
Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.
По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.

Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям.
Можете привести примеры с правильным и неправильным порядком атрибутов?



Коллеги, добрый день. Нужна ваша помощь. Никак не могу победить AckRequest, как только добавляю атрибут accepted="true", подпись сразу становится неверной. Пробовал разные варианты добавления атрибута и перед ID и после - разницы нет, подпись неверна, без атрибута с подписью все в порядке. Выше писали что-то зависимость сортировки от региональных настроек, но куда копать не нашел. Подскажите.
Offline Кирилл Соболев  
#74 Оставлено : 10 июля 2018 г. 13:20:43(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,729
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 175 раз в 167 постах
Цитата:
Достаточно ли этого или нужно взять документ, который не проходит, и показать как правильно его трансформировать чтобы проходило?

Если такой пример есть, было бы отлично. Будет проще понять, где трансформация в КриптоПро .NET сбивается с пути истинного Angel
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
4 Страницы«<234
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.