Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,244  Сказал(а) «Спасибо»: 106 раз Поблагодарили: 300 раз в 278 постах
|
Автор: Denisekat  Автор: Андрей *  ...передача закрытых ключей на сервер... хм..
На сервере тогда хешировать, на клиенте подписывать хеш.
+ использовать (для новых файлов) - блочное чтение на клиенте, тогда можно подписывать любого размера файл.
Да, это был план Б :) Поучается с бэка приходит хэш сообщения и подписывается на фронте, с которого возвращается обратно в бэк подпись(и подписанный хэш?). И я так понимаю нужно будет перепроверить неизменность хэша? нужно будет пройти сертификацию как скзи в сфб. с учетом того что с двух стороном интерпретируемые языки, это невыполнимо |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Санчир Момолдаев  Автор: Denisekat  Да, это был план Б :) Поучается с бэка приходит хэш сообщения и подписывается на фронте, с которого возвращается обратно в бэк подпись(и подписанный хэш?). И я так понимаю нужно будет перепроверить неизменность хэша?
нужно будет пройти сертификацию как скзи в сфб. с учетом того что с двух стороном интерпретируемые языки, это невыполнимо Стоп, хранить файлы клиента и давать возможность ему их подписать с его ЭЦП нужна сертификация в ФСБ? Был бы очень признателен за ссылку на пункт в законе или его(или постановления) формулировку. То есть pycades существует для обеспечения возможности подписывать файлы только собственной подписью? Которую я собственно руками и помещаю в store uMy? А описанная мной схема(клиенту подписать своей подписью документы хранящиеся в ЛК) не законна?
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Denisekat  Стоп, хранить файлы клиента и давать возможность ему их подписать с его ЭЦП нужна сертификация в ФСБ? Был бы очень признателен за ссылку на пункт в законе или его(или постановления) формулировку.
Дошел до нужных людей :) этот вопрос снят.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  На сервере тогда хешировать, на клиенте подписывать хеш.
Для сохранения валидности всего предприятия хэш функция нужна вот тыкая. Но инструкция по ссылке от 2014.. В pycades есть инструмент создания "кашерного" хэша? Оно? Код:hashedData = pycades.HashedData()
hashedData.Algorithm = pycades.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256
hashedData.Hash("test data")
Если хэшируется не строка а файл - что передавать в функцию hashedData.Hash(?) Отредактировано пользователем 9 сентября 2022 г. 14:43:49(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,162   Сказал «Спасибо»: 618 раз Поблагодарили: 2389 раз в 1880 постах
|
|
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,162   Сказал «Спасибо»: 618 раз Поблагодарили: 2389 раз в 1880 постах
|
Автор: Denisekat 
Если хэшируется не строка а файл - что передавать в функцию hashedData.Hash(?) DataEncoding = CADESCOM_BASE64_TO_BINARY dataInBase64 = base64(бинарные данные из файла) oHashedData.Hash(dataInBase64) |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  DataEncoding = CADESCOM_BASE64_TO_BINARY dataInBase64 = base64(бинарные данные из файла) oHashedData.Hash(dataInBase64)
Андрей, большое спасибо за оперативные ответы! На данном этапе всё стало ясно
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Добрый день! Возникли небольшие сложности с хэшем файлов. Выше обозначенный алгоритм при работе с файлами работает прекрасно(проверка - ОК), но при создании хэша файла и его подписании на фронте проверку подпись не проходит(ни функцией( ниже код функции), ни инструментами КриптоПро). Код:_signedData.VerifyHash(h_data, sig_data, pycades.CADESCOM_CADES_BES)
Хэширую файл следующим образом: Код:with open(fpath, "rb") as f:
f_to_base64 = base64.b64encode(f.read())
file_data = f_to_base64.decode("utf-8") # для функции hashedData.Hash() - ибо ждет строку
hashedData = pycades.HashedData()
hashedData.Algorithm = pycades.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256
hashedData.Hash(file_data) # функция ругается на base64
h_data = hashedData.Value # уходит на фронт
Открепленные подписи возвращающиеся с фронта(при подписании файла и подписании хэша того же файла) немного отличаются(ну это естественно, ведь так?). Нужна ваша подсказка :) - не верно создаю хэш? - при проверке подпись связывается с файлом не проверяя его хэш?(не может быть!) - что-то еще упускаем?..
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,162   Сказал «Спасибо»: 618 раз Поблагодарили: 2389 раз в 1880 постах
|
Цитата:Хэширую файл следующим образом:
Т.е. мой ответ не был понят? До хеширования - указать алгоритм и DataEncoding. https://docs.cryptopro.r...escom_class/cphasheddata Algorithm = ADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 DataEncoding = CADESCOM_BASE64_TO_BINARY Hash ( base64 данные ) |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2022(UTC) Сообщений: 34
Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  Цитата:Хэширую файл следующим образом:
Т.е. мой ответ не был понят? До хеширования - указать алгоритм и DataEncoding. https://docs.cryptopro.r...escom_class/cphasheddata Algorithm = ADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 DataEncoding = CADESCOM_BASE64_TO_BINARY Hash ( base64 данные ) Согласен, всё есть выше.. Добавил DataEncoding(Алгоритм до этого указывал) и убрал преобразование из b64: Код:with open(fpath, "rb") as f:
f_to_base64 = base64.b64encode(f.read())
hashedData = pycades.HashedData()
hashedData.Algorithm = pycades.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256
hashedData.DataEncoding = pycades.CADESCOM_BASE64_TO_BINARY
hashedData.Hash(f_to_base64)
h_data = hashedData.Value # уходит на фронт
Вернувшийся .sig проверку все равно не проходит :(
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close