| 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 03.07.2017(UTC)
 Сообщений: 3
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Пытаюсь расшифровать и проверить подпись файла p7s.p7m. Файл подписан моим сертификатом. Файл зашифрован с помощью  АРМ КриптоАРМ версии 4. АРМ КриптоАРМ версии 4 его без проблем проверяет и расшифровывает.   Использую код из Samples.CMS.Verify  // Пример проверки подписи в подписанном PKCS#7/CMS сообщении. Код: 
byte[] encodedSignedCms = File.ReadAllBytes(filename);
SignedCms signedCms = new SignedCms();
signedCms.Decode(encodedSignedCms);// Получаю исключение "Встречено неверное значение тега ASN"
 Побывал считывать и с кодировкой BASE64  Цитата:Код:byte[] encodedSignedCms =  Convert.FromBase64String(File.ReadAllText(filename));// Получаю "Входные данные не являются действительной строкой Base-64" 
 и удалять первую и последнюю служебную  строку (BEGIN/END PKCS7 ENCRYPTED ) из файла p7s.p7m. Результат тот же.  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,969  Сказал «Спасибо»: 605 разПоблагодарили: 2346 раз в 1842 постах
 
 | 
            
		      
                Здравствуйте.
 Файл необходимо сначала расшифровать, а потом проверять подпись\извлекать подписанные данные.
 
 В приведенном коде нет расшифрования.
 Класс SignedCms - отвечает за подписание\проверку, а не за шифрование\расшифровку.
 
 | 
|  | 
    | 
              1 пользователь поблагодарил Андрей * за этот пост. | 
            WilSom оставлено 04.07.2017(UTC)
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 03.07.2017(UTC)
 Сообщений: 3
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Автор: Андрей *  Здравствуйте.
 Файл необходимо сначала расшифровать, а потом проверять подпись\извлекать подписанные данные.
 
 В приведенном коде нет расшифрования.
 Класс SignedCms - отвечает за подписание\проверку, а не за шифрование\расшифровку.
 
 Спасибо за ответ!  Попробовал расшифрование из пример  Samples.Encrypt.gEncryptFileAgree. В качестве названия ключа расшифровки использую название своего ключа. Получаю исключение "Чтение после конца потока невозможно." Наверника виной тому, что в  тестовом примере в конце данных писали сихропосылку.  А у меня её там нету. Файл зашифрован с помощью КриптоАРМ версии 4. Как расшифрование этот файл? Код: // Открываем ключ получателя.
            CspParameters par = new CspParameters(75, null, DestContainer);
            Gost3410CryptoServiceProvider destCont = new Gost3410CryptoServiceProvider(par);
            // Открываем зашифрованный файл.
            using (FileStream ifs = new FileStream(EncryptedFileName, FileMode.Open, FileAccess.Read))
            {
                // Читаем зашифрованный симметричный ключ.
                BinaryReader br = new BinaryReader(ifs);
                byte[] cek;
                int cekLength = br.ReadInt32();
                cek = br.ReadBytes(cekLength);
                // Читаем синхропосылку
                byte[] iv;
                int ivLength = br.ReadInt32(); //!!! Исключение  "Чтение после конца потока невозможно."
                iv = br.ReadBytes(ivLength);
 Отредактировано пользователем 4 июля 2017 г. 14:53:32(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,969  Сказал «Спасибо»: 605 разПоблагодарили: 2346 раз в 1842 постах
 
 | 
            
		      
                Здравствуйте.  Цитата:Файл зашифрован с помощью КриптоАРМ Расшифровывать используя соответствующий класс EnvelopedCms . Примеры есть в КриптоПРО.NET SDK  \Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\CMS\cs\EnvelopedMultipleRecipients.cs | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close