| 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 27.06.2017(UTC) Сообщений: 16  | 
            
		      
                Это структура для ГОСТ-алгоритмов. Там свой космос. Структуры разрабатывались КриптоПро, а потом TK26(смотри пост #59). Грубо говоря если, например, буржуйский PublicKey BLOB для DH - это заголовок + сборки из бинарных значений параметров ключа (если память на изменяет с изменённым порядком байтов) дополненные 0x00 до разрядности, то PublicKey BLOB  в ГОСТовских ключах - это заголовок + ANS.1 структура согласно документации (#59).  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Участник
 Группы: Участники
 Зарегистрирован: 09.08.2018(UTC) Сообщений: 17   Откуда: МоскваСказал «Спасибо»: 4 разПоблагодарили: 3 раз в 2 постах
 
 | 
            
		      
                Да, в итоге разобрался, спасибо. Выложу тут свою выжимку на паскале из uWinCryptEx, это то что я использовал для 17 поста при переделывании под 2012-256   uWinCryptEx.zip (3kb) загружен 38 раз(а). Единственно так и не понял, при сборке PublickeyBlob в blob.tPublicKeyParam.BlobHeader.aiKeyAlg должно идти ALG_SID_GR3410EL плюс некая константа, т.е. там не чистый ALG_SID_GR3410EL а ALG_SID_GR3410EL + $2E00. Наверно это какая-то комбинация, ну да чёрт с ней, прошил константу. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Эксперт
 Группы: Участники
 Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская областьСказал(а) «Спасибо»: 110 разПоблагодарили: 397 раз в 367 постах
 
 | 
            
		      
                Опять какое-то издевательство над файлами определений. Автор: Coriolis  там не чистый ALG_SID_GR3410EL а ALG_SID_GR3410EL + $2E00. Ну по идее там полный номер алгоритма строится как класс (а также тип и подтип) алгоритма + номер алгоритма в этом классе. ALG_SID_GR3410EL это как раз только номер в классе , $2E00 это класс алгоритма, а целиком (их сумма) номер алгоритма называется CALG_GR3410EL = $2e23 . В итоге, Вы вырвали в выжимку не нужную константу CALG_GR3410EL, а только ее часть ALG_SID_GR3410EL. В принципе приплюсовать класс как константу тоже допустимо, просто это будет не так понятно. Смотрю исходный wincrypt.h или jwawincrypt.pas, нахожу: const ALG_CLASS_SIGNATURE    = 1 shl 13 (= $2000); Откуда $2E00 = ALG_CLASS_SIGNATURE + ($e00 = 7 shl 9). Нестандартный тип алгоритма со значением 7 shl 9 и надо искать уже где-то в модифицированной КриптоПро версии wincryptEx.h (то есть это тип для ГОСТ). Эту константу тоже надо в выжимку. У меня wincryptEx.h где-то далеко (скопировал нужные константы в файлы паскаля и куда-то закинул). Отредактировано пользователем 11 мая 2021 г. 7:42:06(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 05.05.2022(UTC) Сообщений: 6 Сказал(а) «Спасибо»: 3 раз
 | 
            
		      
                Автор: PashaTechnique  Автор: Shuraken  Пытаюсь разобраться с GostCryptography. Скачал версию с гитхаба разработчика: GostCryptography , батником собираю, получаю dll (во вложении). Пытаюсь regasm-ом зарегистрировать - пишет "ни одного типа не найдено". TlbExp создаёт GostCryptography.tlb, но он пустой (также во вложении). Версия DLL (gostcryptography2020.dll во вложении), поставляемая с АРМ ФСС совпадает по номеру с версией разработчика (2.0.2), но больше на 6Кб и весь необходимый функционал у неё есть, который нормально регистрируется, нормально экспортируется в tlb-файл, нормально переводится в Делфи. Но при попытке шифрования через GostEncryptSOAP выдаёт ошибку: ASN.1 encoded byte array contains invalid structure "GostCryptography.ASN1.PKI.GOSTR34102001.GOSTR34102001PublicKeyParameters". При этом ошибка возникает как при использовании сертификата ФСС с открытым ключом по гост-2001, так и с ключом по гост-2012. Стоит КриптоПро и всё. Что самое интересное, АРМ ФСС этой ошибки не выдаёт и спокойно загружает тестовые данные как на сертификате по гост-2001, так и по гост-2012. Если несложно, проверьте пожалуйста, какая длл создаётся у вас при использовании версии с сайта разработчика? В ней также, как и у меня, отсутствуют ссылки на используемый функционал? И такой вопрос: есть ли у кого-нибудь код шифрования сообщения при помощи gostcryptography.dll, но без использования класса GostEncryptSOAP. Если есть, можете поделиться? С уважением, Александр.   GostCryptography.rar (141kb) загружен 18 раз(а). Shuraken, ответь здесь  пожалуйста или в лс.  Возникает такая же ошибка "ASN.1 encoded byte array contains invalid structure 'GostCrypography.Asn1.PKI.GostR34102001.GostR34102001 PublicKeyParameters'" при использовании GostCrypography.dll Как решили эту проблему? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Активный участник
 Группы: Участники
 Зарегистрирован: 30.05.2018(UTC) Сообщений: 38 Сказал(а) «Спасибо»: 7 разПоблагодарили: 2 раз в 2 постах
 
 | 
            
		      
                Автор: medsoft  Возникает такая же ошибка "ASN.1 encoded byte array contains invalid structure 'GostCrypography.Asn1.PKI.GostR34102001.GostR34102001 PublicKeyParameters'" при использовании GostCrypography.dll
 Как решили эту проблему?
 
 Отказался от использования этой dll | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close