Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

7 Страницы«<567
Опции
К последнему сообщению К первому непрочитанному
Offline not_x  
#61 Оставлено : 1 мая 2021 г. 18:05:34(UTC)
not_x

Статус: Участник

Группы: Участники
Зарегистрирован: 27.06.2017(UTC)
Сообщений: 16
Российская Федерация

Это структура для ГОСТ-алгоритмов. Там свой космос. Структуры разрабатывались КриптоПро, а потом TK26(смотри пост #59). Грубо говоря если, например, буржуйский PublicKey BLOB для DH - это заголовок + сборки из бинарных значений параметров ключа (если память на изменяет с изменённым порядком байтов) дополненные 0x00 до разрядности, то PublicKey BLOB в ГОСТовских ключах - это заголовок + ANS.1 структура согласно документации (#59).
Offline Coriolis  
#62 Оставлено : 4 мая 2021 г. 13:45:51(UTC)
Coriolis

Статус: Участник

Группы: Участники
Зарегистрирован: 09.08.2018(UTC)
Сообщений: 17
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 4 раз
Поблагодарили: 3 раз в 2 постах
Да, в итоге разобрался, спасибо. Выложу тут свою выжимку на паскале из uWinCryptEx, это то что я использовал для 17 поста при переделывании под 2012-256
uWinCryptEx.zip (3kb) загружен 35 раз(а).

Единственно так и не понял, при сборке PublickeyBlob в blob.tPublicKeyParam.BlobHeader.aiKeyAlg должно идти ALG_SID_GR3410EL плюс некая константа, т.е. там не чистый ALG_SID_GR3410EL а ALG_SID_GR3410EL + $2E00. Наверно это какая-то комбинация, ну да чёрт с ней, прошил константу.
Offline two_oceans  
#63 Оставлено : 11 мая 2021 г. 7:34:20(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Опять какое-то издевательство над файлами определений.
Автор: 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)  | Причина: Не указана

Offline medsoft  
#64 Оставлено : 11 мая 2022 г. 10:36:34(UTC)
medsoft

Статус: Новичок

Группы: Участники
Зарегистрирован: 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
Как решили эту проблему?
Offline Shuraken  
#65 Оставлено : 11 мая 2022 г. 10:59:51(UTC)
Shuraken

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
7 Страницы«<567
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.