Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Еще раз все проверил и переустановил - по прежнему проблема в создании ГОСТовского хэша..
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,244  Сказал(а) «Спасибо»: 106 раз Поблагодарили: 300 раз в 278 постах
|
у вас в js происходит следующее: получаем хэш. ХЭШИРУЕМ ХЭШ. подписываете другой хэш. поэтому подпись неверна в JS должен быть объект HashedData туда устанавливаете setHashValue(нужно будет из base64 перевести в hex, либо с бэка сразу слать hex) потом в js создаете подпись CadesSignHash |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Санчир Момолдаев  у вас в js происходит следующее: получаем хэш. ХЭШИРУЕМ ХЭШ. подписываете другой хэш. поэтому подпись неверна в JS должен быть объект HashedData туда устанавливаете setHashValue(нужно будет из base64 перевести в hex, либо с бэка сразу слать hex) потом в js создаете подпись CadesSignHash Поправили! Большое спасибо за ревью! Код:_signedData = pycades.SignedData()
_signedData.VerifyHash(hashedData, signature, pycades.CADESCOM_CADES_BES)
>> Verified successfully
Но в cptools проверку не проходит.. :( хотелось бы добить вопрос до чистой победы. Почему есть разница в проверке функцией VerifyHash и инструментом cptools? Разница в том что функция проверяет хэш, а тулза файл? То есть при работе с хэшем мы сможем проверять подпись только на своей стороне сравнивая с хэшем(файла) который генерируем. Пользователь в своем ЛК сможет увидеть свою отделенную подпись .sig, мы в функции можем проверить, что она верна, но он, скачав ее и проверив, увидит, что она не валидна по отношению к файлу. Так? Отредактировано пользователем 19 сентября 2022 г. 17:00:11(UTC)
| Причина: Дополнения
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,244  Сказал(а) «Спасибо»: 106 раз Поблагодарили: 300 раз в 278 постах
|
В cptools надо проверить как открепленную подпись. Подавать нужно исходный файл который вы хэшировали, а не хэш |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Санчир Момолдаев  В cptools надо проверить как открепленную подпись. Подавать нужно исходный файл который вы хэшировали, а не хэш Не вижу возможности в cptools явно указать, что нужна проверка открепленной подписи. При загрузке(на первом шаге проверки) подписи.sig, программа, кажется, сама определяет нужен ли ей дополнительно еще и подписанный документ и на втором шаге предлагает указать путь до документа(в случае выбора на первом шаге открепленной подписи). После этого идет проверка и возврат ошибки о неверном хэше(при этом VerifyHash возвращает ОК). А как можно проверить сам хэш через cptools? Проверки на госуслугах и прочих ресурсах возвращают ошибки( Подпись не подтверждена. Файл был модифицирован или подпись не соответствует файлу.). Везде загружаем сам подписываемый файл, а следом(порядок определяется ресурсом) созданный нами на выходе файл .sig Использую фласк, может проблема в записи .sig: Код:sig_data = request.form['sig'] # приходит с фронта
with open("static/file.sig", "w") as f:
f.write(sig_data)
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Продолжаем эксперименты в поиске проблемы создания валидной подписи по хэшу от файла.
1. Файл .sig созданный на фронте и тот что передан в бэк и сохранен - идентичны(потерь нет). 2. Файл .sig(везде говорим в контексте нужных нам открепленных подписей) созданный на фронте по хэшу с бэка так же не валиден в онлайн верификаторах, но функция ValidateHash на фронте, говорит что всё ок. 3. Файл .sig созданный от файла(не важно передан он с бэка или сразу находится у фронта) валиден везде(это говорит нам что проблема в создании хэша). 4. Если фронт сам создает хэш от файла и подписывает его эта подпись(файл .sig) так же не валидна в онлайн верификаторах и cptools..(исключили проблему на бэке) 5. Пробуем сменить ГОСТ алгоритмы при создании хэша от файла(прямо а фронте) - результат тот же: не верное значение хэша.
Направьте пожалуйста дальше мысли где поискать причину невалидности подписи при её создании по хэшу файла.. ГОСТы при создании хэша и при отправке хэша в плагин для создания подписи - идентичны.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,244  Сказал(а) «Спасибо»: 106 раз Поблагодарили: 300 раз в 278 постах
|
приложите 1 исходный файл 2 посчитанный хэш 3 файл подписи |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Санчир Момолдаев  приложите 1 исходный файл 2 посчитанный хэш 3 файл подписи Приложено:  files.zip (1,115kb) загружен 6 раз(а).Спасибо!
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,168   Сказал «Спасибо»: 618 раз Поблагодарили: 2391 раз в 1880 постах
|
Trainmanual .pdf 8994FEC4EE6B49AD0A5CD0B57563BC44332944DA6D7029470F7E99FC23C55844 GOST R 34.11-2012 256
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,244  Сказал(а) «Спасибо»: 106 раз Поблагодарили: 300 раз в 278 постах
|
хэши разнятся. back hash != front hash (из зачем он?)
что-то вы перемудрили |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close