Статус: Новичок
  Группы: Участники
 Зарегистрирован: 12.12.2024(UTC) Сообщений: 3
  
	 
	
     | 
    
        
            
		      
                При провеке подписи по хэшу файла, чтобы сформировать объект signedData валится ArgumentException Код: Код:
SignedCms cms = new SignedCms();
cms.Decode(signature); //signature - массив байт с подписью.
//достанем хэш подписанного файла из подписи
var contentObject = cms.SignerInfos[0].SignedAttributes.Cast<CryptographicAttributeObject>()
   .FirstOrDefault(e => e.Oid.Value == Consts.CryptOID.MESSAGE_DIGEST);
//подготовим объект хэша подписанного файла для проверки подписи
CAdESCOM.CPHashedData hd = new CAdESCOM.CPHashedData();
hd.DataEncoding = CAdESCOM.CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
string hashedString = BitConverter.ToString(((Pkcs9MessageDigest)contentObject.Values[0]).MessageDigest).Replace("-", string.Empty);				
hd.SetHashValue(hashedString);//ArgumentException
 
 P.S. Алгоритм хеша: "1.2.643.7.1.1.2.3" В чем можжет быть проблема?  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,987   Сказал «Спасибо»: 605 раз Поблагодарили: 2350 раз в 1846 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте.
  Алгоритм хэширования нужно указать до того, как будет передано хэш-значение    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 12.12.2024(UTC) Сообщений: 3
  
	 
	
     | 
    
        
            
		      
                Автор: Андрей *  Здравствуйте.
  Алгоритм хэширования нужно указать до того, как будет передано хэш-значение  Спасибо, но не понятно какой алгоритм указывать?  CPHashedData.Algorithm принимает значение из перечисления CAPICOM_HASH_ALGORITHM, которое имеет следующие значения: CAPICOM_HASH_ALGORITHM_SHA1, CAPICOM_HASH_ALGORITHM_MD2, CAPICOM_HASH_ALGORITHM_MD4, CAPICOM_HASH_ALGORITHM_MD5, CAPICOM_HASH_ALGORITHM_SHA_256, CAPICOM_HASH_ALGORITHM_SHA_384, СAPICOM_HASH_ALGORITHM_SHA_512 А у меня алгоритм ГОСТ Р 34.11-2012 (256-bit). P.S. Я пробовал указать CPHashedData.Algorithm = CAPICOM_HASH_ALGORITHM.CAPICOM_HASH_ALGORITHM_SHA_256 - ошибка сохранялась  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,987   Сказал «Спасибо»: 605 раз Поблагодарили: 2350 раз в 1846 постах
  
	 
	
     | 
    
        
            
		      
                В документации и примерах есть про ГОСТ: cadescom_hash_algorithmЦитата: CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256	 Алгоритм ГОСТ Р 34.11-2012.	 101
     | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 12.12.2024(UTC) Сообщений: 3
  
	 
	
     | 
    
        
            
		      
                Автор: Андрей *  В документации и примерах есть про ГОСТ: cadescom_hash_algorithmЦитата: CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256	 Алгоритм ГОСТ Р 34.11-2012.	 101
   Спасибо  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close