Статус: Участник
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 22 Откуда: СПб
|
Добрый день, уважаемые!
стоит вопрос про передачу хеша файла для дальнейшей его подписи.
немного предистории:
есть некое веб приложение, в котором организована функция подписи. Подпись происходит на стороне браузера, в апплете. Функция подписи принимает файл, отдает подпись на выходе. Стоит задача по оптимизации траффика - необходимо передавать в апплет только хеш файла и в дальнейшем его подписывать.
на стороне сервера я формирую хеш файла по гост р 3411 таким образом я получаю сам хеш в итоге:
BYTE rgbHash[64]; ..... CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0)
и мне надо это в каком то виде получить с клиента.
вопрос: если я передам набор байт, то как мне его потом опять преобразовать в структуру HCRYPTHASH чтобы вызвать метод CryptSignHash? или можно как то по другому? (но если по другому, то тут тоже есть ограничения, дело в том что веб приложение написано на java и я ограничен в использовании типов переменных. Мне удобно либо байты либо строкой)
заранее благодарю за ответы!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Цитата:Стоит задача по оптимизации траффика - необходимо передавать в апплет только хеш файла и в дальнейшем его подписывать.
Так файл (данные) уже есть\будут на клиенте? Или клиент(пользователь) будет подписывать ("что-то") не ознакомившись с данными + где гарантия, что он подписывает именно тот документ, а "не другой"? Если данные уже есть на клиенте - почему бы для решения задачи не использовать отсоединенную подпись? Отредактировано пользователем 7 июня 2012 г. 22:18:40(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 22 Откуда: СПб
|
Андрей * написал:Цитата:Стоит задача по оптимизации траффика - необходимо передавать в апплет только хеш файла и в дальнейшем его подписывать.
Так файл (данные) уже есть\будут на клиенте? Или клиент(пользователь) будет подписывать ("что-то") не ознакомившись с данными + где гарантия, что он подписывает именно тот документ, а "не другой"? Если данные уже есть на клиенте - почему бы для решения задачи не использовать отсоединенную подпись? пользователю в вебе предоставляется возможность ознакомиться с документом. при нажатии на кнопку "подпись" формируется хеш. Далее Апплет запрашивает хеш и подписывает его. Подпись отправляет на сервер. на клиент предполагается доставлять только хеш от файла и там его подписывать. Вопрос в том как этот хеш подать для функции CryptSignHash, если он у меня представлен массивом BYTE * . Я думаю, тут больше вопрос относится к языку... по поводу отсоединенной подписи - разве на выходе CryptSignHash мы не получаем ту самую отсоединенную подпись?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 22 Откуда: СПб
|
почитал документацию, если я все верно понял, то вроде моя проблема решается вызовом функции CryptSetHashParam тоесть, мне надо сначала создать структуру хеша потом заполнить ее методом CryptSetHashParam(hHash, HP_HASHVAL, pbData, 0); где pbData - это мои байты с хешом, пришедшие с сервера ну а потом, собственно, подписывать. Скоро стану знатоком языка си)) Отредактировано пользователем 8 июня 2012 г. 19:54:57(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close