Статус: Участник
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 22 Откуда: СПб
|
Здравствуйте! помогите разобраться с последовательностью действий... задача стоит в следующем - сформировать хеш файла на линуксовой машине по ГОСТу. передать хеш на виндовую и там этот хеш подписать. формирую хеш так Код:
...
//создание структуры с хешом
if (!CryptCreateHash(hProv, CALG_GR3411, 0, 0, &hHash)) {
res = SCA_CRYPT_CREATE_HASH;
goto er;
}
//установка обязательного параметра
if (!CryptSetHashParam(hHash, HP_OID, (BYTE*) OID_HashVerbaO, 0)) {
res = SCA_CRYPT_SET_HASH_PARAM;
goto er;
}
//хеширование входного файла
do {
cbRead = (DWORD) fread(rgbFile, 1, 1024, hFile);
if (!CryptHashData(hHash, rgbFile, cbRead, 0)) {
res = SCA_CRYPT_HASH_DATA;
goto er;
}
} while (!feof(hFile));
cbHash = 64;
if (!CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0)) {
res = SCA_CRYPT_GET_HASH_PARAM;
goto er;
}
// далее пишу rgbHash в файл и передаю на виндовый клиент
на винде пытался восстановить хеш с помощью CryptCreateHash и CryptSGetHashParam во первых, CryptCreateHash надо было сунуть алгоритм CALG_GR3411, но виндовые h файлы не знают о нем ничего в связи с этим два вопроса: 1) можно ли этот хэш, находящийся в файле подписывать как файл а не как хеш и правильно ли это будет? (просто уже есть готовая функция подписи для файла на стороне винды, реализованная с помощью CryptSignMessage, Но т.к. файлы могут быть большими - необходимо на винду передавать только хеш и я не уверен что правильно будет если я подставлю в эту функцию файл с хешом...) 2) как правильно воссоздать структуру хеша на винде в моей ситуации, имея набор байтов, сгенерированных на линуксовой машине в приведенном выше коде? Отредактировано пользователем 22 июня 2012 г. 14:54:50(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,523   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Цитата:на винде пытался восстановить хеш с помощью CryptCreateHash и CryptSGetHashParam
во первых, CryptCreateHash надо было сунуть алгоритм CALG_GR3411, но виндовые h файлы не знают о нем ничего
SDK\samples\include\WinCryptEx.h Отредактировано пользователем 22 июня 2012 г. 14:47:47(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 22 Откуда: СПб
|
Андрей * написал:Цитата:на винде пытался восстановить хеш с помощью CryptCreateHash и CryptSGetHashParam
во первых, CryptCreateHash надо было сунуть алгоритм CALG_GR3411, но виндовые h файлы не знают о нем ничего
SDK\samples\include\WinCryptEx.h в этом случае на винде обязательно должен быть установлен криптопро? или если я подключу файл WinCryptEx, и возьму отттуда только константы, этого будет достаточно? сейчас я обхожусь стандартными win api может вопрос и глупый, но я не шарю особо в Си... ответьте пожалуйста.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close