| 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                Автор: spider  Автор: mdervel  В продолжение темы проверки подписи. Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи.
 Столкнулись с такой же проблемой. Нет ли решения от КриптоПро ? Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа Вступаю в ваш клуб :) Есть ли решение / workaround? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                Автор: archimed7592  Автор: spider  Автор: mdervel  В продолжение темы проверки подписи. Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи.
 Столкнулись с такой же проблемой. Нет ли решения от КриптоПро ? Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа Вступаю в ваш клуб :) Есть ли решение / workaround? Отвечаю на свой же вопрос: помогло обновление Windows, CSP, CP.NET. Что именно - не знаю, не было возможности на бою проверять по отдельности. Вероятно, дело именно в Windows, а именно, в каком-нибудь из обновлений .NET т.к., судя по рефлектору, проблемная часть кода, сортирующая атрибуты, не изменилась. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
 Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
 Сообщений: 17
 Откуда: Россия
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Зарегистрировались в смэв3 в среде разработки. Запрос уходит корректно, ответ от смэв приходит правильный.А вот когда запрашиваю данные, вызывая метод GetResponse, возвращается пустой ответ.
 Запросы делал на основе примеров, выложенных на технологическом портале смэв.
 Всё вроде делаю правильно, но данных нет. Никто не знает, в среде разработки данные на запросы вообще приходят или нет и у меня нормальная ситуация?
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                Про среду разработки не скажу, а на тестовой среде нужно указать тэг TestMessage, чтобы ответ какой-нибудь пришел. | 
    | 
              1 пользователь поблагодарил archimed7592 за этот пост. | 
            RomanK оставлено 13.06.2018(UTC)
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
 Сообщений: 17
 Откуда: Россия
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Автор: archimed7592  Про среду разработки не скажу, а на тестовой среде нужно указать тэг TestMessage, чтобы ответ какой-нибудь пришел. Спасибо за совет! Поставил тэг TestMessage, данные получил. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 10.04.2017(UTC)
 Сообщений: 17
 Откуда: Россия
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Может кто подскажет, какая последовательность действий при получении данных из смэв3? Сначала отправляем запрос, потом пробуем получить данные. Нужно ли после получения данных вызывать Ack с ID запроса, с которым эти данные пришли или нет? Имеется в виду OriginalMessageId
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                Нужно вызывать Ack с ID ответного сообщения. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРОПоблагодарили: 177 раз в 168 постах
 | 
            
		      
                Автор: archimed7592  Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
 Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.
 Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям. Можете привести примеры с правильным и неправильным порядком атрибутов? | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 26.02.2014(UTC) Сообщений: 26  Откуда: МоскваПоблагодарили: 4 раз в 4 постах
 | 
            
		      
                  2018-06-19T09-47.zip (57kb) загружен 40 раз(а). Автор: Кирилл Соболев  Автор: archimed7592  Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело.По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов.
 Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая.
 Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям. Можете привести примеры с правильным и неправильным порядком атрибутов? Могу дать два примера - один который проходит проверку подписи, другой, который не проходит. К сожалению, это будет не один и тот же XML, а два разных ответа от сервера, т.е. так по простому мне не удалось понять почему один проходит проверку, а другой - нет. Во вложении архив    2018-06-19T09-47.zip (57kb) загружен 40 раз(а). Документ 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 - лог проверки документа
 Достаточно ли этого или нужно взять документ, который не проходит, и показать как правильно его трансформировать чтобы проходило? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close