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

Уведомление

Icon
Error

6 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Санчир Момолдаев  
#11 Оставлено : 9 сентября 2022 г. 13:16:28(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
Автор: Denisekat Перейти к цитате
Автор: Андрей * Перейти к цитате
...передача закрытых ключей на сервер... хм..

На сервере тогда хешировать,
на клиенте подписывать хеш.

+ использовать (для новых файлов) - блочное чтение на клиенте, тогда можно подписывать любого размера файл.



Да, это был план Б :)

Поучается с бэка приходит хэш сообщения и подписывается на фронте, с которого возвращается обратно в бэк подпись(и подписанный хэш?). И я так понимаю нужно будет перепроверить неизменность хэша?


нужно будет пройти сертификацию как скзи в сфб.
с учетом того что с двух стороном интерпретируемые языки, это невыполнимо
Техническую поддержку оказываем тут
Наша база знаний
Offline Denisekat  
#12 Оставлено : 9 сентября 2022 г. 14:00:00(UTC)
Denisekat

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

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

Сказал(а) «Спасибо»: 7 раз
Автор: Санчир Момолдаев Перейти к цитате
Автор: Denisekat Перейти к цитате

Да, это был план Б :)
Поучается с бэка приходит хэш сообщения и подписывается на фронте, с которого возвращается обратно в бэк подпись(и подписанный хэш?). И я так понимаю нужно будет перепроверить неизменность хэша?

нужно будет пройти сертификацию как скзи в сфб.
с учетом того что с двух стороном интерпретируемые языки, это невыполнимо

Стоп, хранить файлы клиента и давать возможность ему их подписать с его ЭЦП нужна сертификация в ФСБ? Был бы очень признателен за ссылку на пункт в законе или его(или постановления) формулировку.

То есть pycades существует для обеспечения возможности подписывать файлы только собственной подписью? Которую я собственно руками и помещаю в store uMy? А описанная мной схема(клиенту подписать своей подписью документы хранящиеся в ЛК) не законна?
Offline Denisekat  
#13 Оставлено : 9 сентября 2022 г. 14:21:14(UTC)
Denisekat

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

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

Сказал(а) «Спасибо»: 7 раз
Автор: Denisekat Перейти к цитате

Стоп, хранить файлы клиента и давать возможность ему их подписать с его ЭЦП нужна сертификация в ФСБ? Был бы очень признателен за ссылку на пункт в законе или его(или постановления) формулировку.

Дошел до нужных людей :) этот вопрос снят.
Offline Denisekat  
#14 Оставлено : 9 сентября 2022 г. 14:42:13(UTC)
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)  | Причина: Не указана

Offline Андрей *  
#15 Оставлено : 9 сентября 2022 г. 14:48:13(UTC)
Андрей *

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

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

Сказал «Спасибо»: 618 раз
Поблагодарили: 2389 раз в 1880 постах
Почти,
можно подсмотреть пример для JS и взять оттуда логику работы:

https://docs.cryptopro.r...-samples-hashed-data-bin

https://docs.cryptopro.r...n-samples-fileapi_stream
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Denisekat оставлено 09.09.2022(UTC)
Offline Андрей *  
#16 Оставлено : 9 сентября 2022 г. 14:49:32(UTC)
Андрей *

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

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

Сказал «Спасибо»: 618 раз
Поблагодарили: 2389 раз в 1880 постах
Автор: Denisekat Перейти к цитате


Если хэшируется не строка а файл - что передавать в функцию hashedData.Hash(?)



DataEncoding = CADESCOM_BASE64_TO_BINARY
dataInBase64 = base64(бинарные данные из файла)
oHashedData.Hash(dataInBase64)

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Denisekat оставлено 09.09.2022(UTC)
Offline Denisekat  
#17 Оставлено : 9 сентября 2022 г. 14:53:00(UTC)
Denisekat

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

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

Сказал(а) «Спасибо»: 7 раз
Автор: Андрей * Перейти к цитате

DataEncoding = CADESCOM_BASE64_TO_BINARY
dataInBase64 = base64(бинарные данные из файла)
oHashedData.Hash(dataInBase64)


Андрей, большое спасибо за оперативные ответы! На данном этапе всё стало ясно Angel
Offline Denisekat  
#18 Оставлено : 13 сентября 2022 г. 12:23:45(UTC)
Denisekat

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

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


Открепленные подписи возвращающиеся с фронта(при подписании файла и подписании хэша того же файла) немного отличаются(ну это естественно, ведь так?).

Нужна ваша подсказка :)
- не верно создаю хэш?
- при проверке подпись связывается с файлом не проверяя его хэш?(не может быть!)
- что-то еще упускаем?..
Offline Андрей *  
#19 Оставлено : 13 сентября 2022 г. 12:39:20(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 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 данные )
Техническую поддержку оказываем тут
Наша база знаний
Offline Denisekat  
#20 Оставлено : 13 сентября 2022 г. 14:12:19(UTC)
Denisekat

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

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