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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline mgurov  
#1 Оставлено : 7 июня 2012 г. 22:05:43(UTC)
mgurov

Статус: Участник

Группы: Участники
Зарегистрирован: 22.05.2012(UTC)
Сообщений: 22
Откуда: СПб

Добрый день, уважаемые!

стоит вопрос про передачу хеша файла для дальнейшей его подписи.

немного предистории:

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

на стороне сервера я формирую хеш файла по гост р 3411
таким образом я получаю сам хеш в итоге:

BYTE rgbHash[64];
.....
CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0)

и мне надо это в каком то виде получить с клиента.

вопрос: если я передам набор байт, то как мне его потом опять преобразовать в структуру HCRYPTHASH чтобы вызвать метод CryptSignHash? или можно как то по другому? (но если по другому, то тут тоже есть ограничения, дело в том что веб приложение написано на java и я ограничен в использовании типов переменных. Мне удобно либо байты либо строкой)

заранее благодарю за ответы!
Offline Андрей Писарев  
#2 Оставлено : 7 июня 2012 г. 22:09:52(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
Цитата:
Стоит задача по оптимизации траффика - необходимо передавать в апплет только хеш файла и в дальнейшем его подписывать.


Так файл (данные) уже есть\будут на клиенте?
Или клиент(пользователь) будет подписывать ("что-то") не ознакомившись с данными + где гарантия, что он подписывает именно тот документ, а "не другой"?
Если данные уже есть на клиенте - почему бы для решения задачи не использовать отсоединенную подпись?

Отредактировано пользователем 7 июня 2012 г. 22:18:40(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline mgurov  
#3 Оставлено : 8 июня 2012 г. 14:09:53(UTC)
mgurov

Статус: Участник

Группы: Участники
Зарегистрирован: 22.05.2012(UTC)
Сообщений: 22
Откуда: СПб

Андрей * написал:
Цитата:
Стоит задача по оптимизации траффика - необходимо передавать в апплет только хеш файла и в дальнейшем его подписывать.


Так файл (данные) уже есть\будут на клиенте?
Или клиент(пользователь) будет подписывать ("что-то") не ознакомившись с данными + где гарантия, что он подписывает именно тот документ, а "не другой"?
Если данные уже есть на клиенте - почему бы для решения задачи не использовать отсоединенную подпись?



пользователю в вебе предоставляется возможность ознакомиться с документом. при нажатии на кнопку "подпись" формируется хеш. Далее Апплет запрашивает хеш и подписывает его. Подпись отправляет на сервер.

на клиент предполагается доставлять только хеш от файла и там его подписывать. Вопрос в том как этот хеш подать для функции CryptSignHash, если он у меня представлен массивом BYTE * . Я думаю, тут больше вопрос относится к языку...

по поводу отсоединенной подписи - разве на выходе CryptSignHash мы не получаем ту самую отсоединенную подпись?

Offline mgurov  
#4 Оставлено : 8 июня 2012 г. 19:54:07(UTC)
mgurov

Статус: Участник

Группы: Участники
Зарегистрирован: 22.05.2012(UTC)
Сообщений: 22
Откуда: СПб

почитал документацию, если я все верно понял, то вроде моя проблема решается вызовом функции CryptSetHashParam

тоесть, мне надо сначала создать структуру хеша

потом заполнить ее методом CryptSetHashParam(hHash, HP_HASHVAL, pbData, 0);

где pbData - это мои байты с хешом, пришедшие с сервера

ну а потом, собственно, подписывать. Скоро стану знатоком языка си))

Отредактировано пользователем 8 июня 2012 г. 19:54:57(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.