Статус: Участник
  Группы: Участники
 Зарегистрирован: 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