Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
  
	 
	
     | 
    
        
            
		      
                Доюрый день, Возникла проблема следующая проблема при проверки подписи. На сервере получаю сертификат по его FriendlyName и хочу проверить подписанный хэш. Цитата:Gost3410CryptoServiceProvider Gost;
                  X509Store store = new X509Store(StoreLocation.CurrentUser);                 store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);                                  foreach (var cert in store.Certificates)                 {                     if(cert.FriendlyName == certFriendlyName)                     {                         Gost = (Gost3410CryptoServiceProvider) cert.PublicKey.Key;                         break;                     }                 }
   Возникает Exception в строчке Gost = (Gost3410CryptoServiceProvider) cert.PublicKey.Key; Цитата: [A]CryptoPro.Sharpei.Gost3410CryptoServiceProvider cannot be cast to [B]CryptoPro.Sharpei.Gost3410CryptoServiceProvider. Type A originates from 'CryptoPro.Sharpei.Base, Version=1.4.0.10, Culture=neutral, PublicKeyToken=473b8c5086e795f5' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\CryptoPro.Sharpei.Base\v4.0_1.4.0.10__473b8c5086e795f5\CryptoPro.Sharpei.Base.dll'. Type B originates from 'CryptoPro.Sharpei.Base, Version=1.0.0.10, Culture=neutral, PublicKeyToken=473b8c5086e795f5' in the context 'Default' at location 'C:\Windows\assembly\GAC_MSIL\CryptoPro.Sharpei.Base\1.0.0.10__473b8c5086e795f5\CryptoPro.Sharpei.Base.dll'.
  Что происходит и как исправить, подскажите пож-ста!  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
  
	 
	
     | 
    
        
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 04.06.2012(UTC) Сообщений: 4 Откуда: spb
  
	 
	
     | 
    
        
            
		      
                таже проблема, при смене версие фреймворка с 4 ниже работает, ссылку(http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3442. ) не могу открыть, перепостите пожалуйста что сделать чтобы исправить ситуацию ? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы
 Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,417  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 729 раз в 630 постах
  
	 
	
     | 
    
        
            
		      
                Поправил ссылку. Повторюсь - часто проблемы бывают, что .NET SDK не соответствует установленной версии .NET.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Новичок
  Группы: Участники
 Зарегистрирован: 04.06.2012(UTC) Сообщений: 4 Откуда: spb
  
	 
	
     | 
    
        
            
		      
                maxdm - спасибо, но суть не понял что делать, что отличаются версии понятно, как это исправить ? обе версии netsdk-x64-eng.msi (1.0.4527.0) и net-x64-eng.msi (1.0.4527.0) скачаны с вашего источника. при указание версии фреймворка ниже 4 в проекте используется объект соотвествуещей версии, при 4.0 фреймворке данное приведение типа возвращает нулл.  Код:            
            X509Certificate2 cert = new X509Certificate2("...", "ххх");
            AsymmetricAlgorithm pk = cert.PublicKey.Key;
            Gost3410 alg = pk as Gost3410;
            if (alg == null)
                throw new CryptographicException("Not a gost certificate");
 
 Подскажите где скачать net-x64-eng.msi нужной версии ? или что настроить ?  Код:
 Содержимое папки C:\Windows\assembly\GAC_MSIL\CryptoPro.Sharpei.Base
05.06.2012  10:19    <DIR>          .
05.06.2012  10:19    <DIR>          ..
04.06.2012  18:12    <DIR>          1.0.0.10__473b8c5086e795f5
05.06.2012  10:20                 0 1.txt
               1 файлов              0 байт
               3 папок  320 982 667 264 байт свободно
 
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close