| 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
 Сообщений: 468
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 69 раз в 61 постах
 
 | 
            
		      
                Автор: Санчир Момолдаев  Вот что получилось на данный момент (а что-то получилось!!)) ) Подписал следующим образом:  Код:[CryptoPro.Sharpei.Gost3411_2012_256CryptoServiceProvider]$gost3411 = [CryptoPro.Sharpei.Gost3411_2012_256CryptoServiceProvider]::new()
[byte[]]$hashValue = $gost3411.ComputeHash($DataFileRawBytes)
$gost3411.Clear()
$signingCert = (gi Cert:\CurrentUser\My\E3005A57425DFFB920DB2953050D83E89F08008D)
[CryptoPro.Sharpei.Gost2012_256SignatureFormatter]$gost = [CryptoPro.Sharpei.Gost2012_256SignatureFormatter]::new()
$gost.SetKey($signingCert.PrivateKey)
$signature = $gost.CreateSignature($hashValue)
 Далее попробовал проверить через csptest, не получилось, НО!!!  я сделал array.reverse() для $signature и csptest проверил подпись!!! Т.е. таким образом заработало! PS. Это фактически равносильно csptest -keys -sign Отредактировано пользователем 29 декабря 2020 г. 22:36:24(UTC)
 | Причина: Не указана | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
 Сообщений: 468
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 69 раз в 61 постах
 
 | 
            
		      
                Но непонятно на самом деле, что было подписано в файле Example1.docx.sign ... 
 | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 | 
            
		      
                Автор: Анатолий Колкочев  Но непонятно на самом деле, что было подписано в файле Example1.docx.sign ... 
 еще раз подписаны аттрибуты берете этот файл. заходите на https://lapo.it  загружаете вот то что под [0] то и подписано | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,974  Сказал «Спасибо»: 605 разПоблагодарили: 2347 раз в 1843 постах
 
 | 
            
		      
                При проверке подписи из cms с подписанными атрибутами, нужно проверять подпись под структурой с атрибутами, а не под байтами(хеш контента)  | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
 Сообщений: 468
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 69 раз в 61 постах
 
 | 
            
		      
                  3.png (69kb) загружен 7 раз(а). Там есть несколько нулей... Какой именно следует выбрать? Самый нижний? Я просто никак понять не могу( Отредактировано пользователем 29 декабря 2020 г. 22:47:23(UTC)
 | Причина: Не указана | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 | 
            
		      
                самый нижний. где messageDigest | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
 Сообщений: 468
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 69 раз в 61 постах
 
 | 
            
		      
                Понял. Сначала идет описание атрибутов, а потом то, что подписываем. PS. Подписывается эта часть, верно?   4.png (304kb) загружен 8 раз(а). Отредактировано пользователем 29 декабря 2020 г. 23:00:37(UTC)
 | Причина: Не указана | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 |  | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,234 Сказал(а) «Спасибо»: 105 разПоблагодарили: 296 раз в 276 постах
 
 | 
            
		      
                вот тут в rfc  написано что обязательно должно быть что опционально | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
 Сообщений: 468
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 69 раз в 61 постах
 
 | 
            
		      
                Автор: Санчир Момолдаев  Попробовал вытащить таким образом - не получилось( Он выдает только значения подписанных атрибутов, однако не возвращает полностью подписанный блок...  Подписывается блок полностью, а не только значения, как я понял...  Попробовал еще сделать так: Код:$encodedAttr = $signers[0].GetEncodedSignedAttributes() #Получил весь подписанный блок (используется библиотека bouncycastle)
$hash = [CryptoPro.Sharpei.Gost3411_2012_256]::Create().ComputeHash($encodedAttr) #Считаю хеш-код для него
$signingCert = gi Cert:\CurrentUser\My\E3005A57425DFFB920DB2953050D83E89F08008D
$signingCert.PrivateKey.VerifyHash($hash, $signers[0].GetSignature()) #Проверяю
#$signingCert.PrivateKey.VerifySignature($hash, $signers[0].GetSignature())
 Но постоянно получаю в ответ $false В целом я разобрался, что реально подписывается в CADeS. Спасибо большое! Хотелось бы еще самостоятельно проверить, но пока не получается ( Отредактировано пользователем 30 декабря 2020 г. 10:48:46(UTC)
 | Причина: Не указана | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close