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

Уведомление

Icon
Error

6 Страницы«<23456>
Опции
К последнему сообщению К первому непрочитанному
Offline Denisekat  
#31 Оставлено : 19 сентября 2022 г. 9:28:06(UTC)
Denisekat

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

Группы: Участники
Зарегистрирован: 30.08.2022(UTC)
Сообщений: 34

Сказал(а) «Спасибо»: 7 раз
Еще раз все проверил и переустановил - по прежнему проблема в создании ГОСТовского хэша.. Brick wall
Offline Санчир Момолдаев  
#32 Оставлено : 19 сентября 2022 г. 11:37:20(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,244
Российская Федерация

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
у вас в js происходит следующее:
получаем хэш. ХЭШИРУЕМ ХЭШ. подписываете другой хэш. поэтому подпись неверна
в JS должен быть объект HashedData
туда устанавливаете setHashValue(нужно будет из base64 перевести в hex, либо с бэка сразу слать hex)
потом в js создаете подпись CadesSignHash
Техническую поддержку оказываем тут
Наша база знаний
Offline Denisekat  
#33 Оставлено : 19 сентября 2022 г. 16:52:47(UTC)
Denisekat

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

Группы: Участники
Зарегистрирован: 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)  | Причина: Дополнения

Offline Санчир Момолдаев  
#34 Оставлено : 19 сентября 2022 г. 20:02:48(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,244
Российская Федерация

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
В cptools надо проверить как открепленную подпись. Подавать нужно исходный файл который вы хэшировали, а не хэш
Техническую поддержку оказываем тут
Наша база знаний
Offline Denisekat  
#35 Оставлено : 20 сентября 2022 г. 9:12:30(UTC)
Denisekat

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

Группы: Участники
Зарегистрирован: 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)

Offline Denisekat  
#36 Оставлено : 21 сентября 2022 г. 11:33:58(UTC)
Denisekat

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

Группы: Участники
Зарегистрирован: 30.08.2022(UTC)
Сообщений: 34

Сказал(а) «Спасибо»: 7 раз
Продолжаем эксперименты в поиске проблемы создания валидной подписи по хэшу от файла.

1. Файл .sig созданный на фронте и тот что передан в бэк и сохранен - идентичны(потерь нет).
2. Файл .sig(везде говорим в контексте нужных нам открепленных подписей) созданный на фронте по хэшу с бэка так же не валиден в онлайн верификаторах, но функция ValidateHash на фронте, говорит что всё ок.
3. Файл .sig созданный от файла(не важно передан он с бэка или сразу находится у фронта) валиден везде(это говорит нам что проблема в создании хэша).
4. Если фронт сам создает хэш от файла и подписывает его эта подпись(файл .sig) так же не валидна в онлайн верификаторах и cptools..(исключили проблему на бэке)
5. Пробуем сменить ГОСТ алгоритмы при создании хэша от файла(прямо а фронте) - результат тот же: не верное значение хэша.

Направьте пожалуйста дальше мысли где поискать причину невалидности подписи при её создании по хэшу файла..
ГОСТы при создании хэша и при отправке хэша в плагин для создания подписи - идентичны.
Offline Санчир Момолдаев  
#37 Оставлено : 21 сентября 2022 г. 11:53:06(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,244
Российская Федерация

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
приложите
1 исходный файл
2 посчитанный хэш
3 файл подписи
Техническую поддержку оказываем тут
Наша база знаний
Offline Denisekat  
#38 Оставлено : 21 сентября 2022 г. 12:11:32(UTC)
Denisekat

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

Группы: Участники
Зарегистрирован: 30.08.2022(UTC)
Сообщений: 34

Сказал(а) «Спасибо»: 7 раз
Автор: Санчир Момолдаев Перейти к цитате
приложите
1 исходный файл
2 посчитанный хэш
3 файл подписи

Приложено: files.zip (1,115kb) загружен 6 раз(а).
Спасибо!
Offline Андрей *  
#39 Оставлено : 21 сентября 2022 г. 12:15:51(UTC)
Андрей *

Статус: Сотрудник

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

Сказал «Спасибо»: 618 раз
Поблагодарили: 2391 раз в 1880 постах
Trainmanual .pdf
8994FEC4EE6B49AD0A5CD0B57563BC44332944DA6D7029470F7E99FC23C55844 GOST R 34.11-2012 256


Техническую поддержку оказываем тут
Наша база знаний
Offline Санчир Момолдаев  
#40 Оставлено : 21 сентября 2022 г. 12:26:58(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,244
Российская Федерация

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
хэши разнятся.
back hash != front hash (из зачем он?)

что-то вы перемудрили
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
6 Страницы«<23456>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.