Крипто-Про CSP

CPSetHashParam

Функция CPSetHashParam() устанавливает параметры объекта хеширования.

BOOL WINAPI CPSetHashParam(
  HCRYPTPROV hProv,
  HCRYPTHASH hHash,
  DWORD dwParam,
  BYTE * pbData,
  DWORD dwFlags
);

Аргументы

hProv
[in] Дескриптор криптопровайдера. Получается при помощи функции CPAcquireContext().
hHash
[in] Дескриптор объекта хеширования, параметры которого устанавливаются.
dwParam
[in] Параметр, принимающий следующие возможные значения:
Значение dwParam Содержимое буфера pbData
HP_HASHVAL Устанавливается для объекта функции хеширования типа CALG_GR3411. Величина, 32 байта, должна быть установлена в буфер pbData .
HP_HASHSIZE Устанавливается для объекта функции хеширования типа CALG_G28147_IMIT. В буфер pbData записывается величина DWORD, определяющая число байтов имитовставки в диапазоне от 1 до 4. По умолчанию длина имитовставки равна 4 байтам.
KP_HASHOID Идентификатор функции хеширования. Строка, заканчивающаяся нулем.
HP_TLS1PRF_SEED Составляющая аргумента функции GOSTR3411_PRF. Принимает различные значения в сообщениях клиента и сервера при реализации TLS Handshake Protocol. Задается в виде структуры CRYPT_DATA_BLOB.
HP_TLS1PRF_LABEL Составляющая аргумента функции GOSTR3411_PRF. Принимает различные значения в сообщениях клиента и сервера при реализации TLS Handshake Protocol. Задается в виде структуры CRYPT_DATA_BLOB.
HP_OPEN Устанавливается для объектов функции хеширования типа CALG_GR3411 и CALG_G28147_IMIT в случае, если они закрыты. Если через параметр pbData передаётся величина FALSE типа DWORD, осуществляется инициализация объекта функции хеширования, в противном случае объект функции хеширования открывается эжя дальнейщего хеширования жанных.
pbData
[in] Указатель на буфер данных параметра. При вызове функции буфер содержит данные, соответствующие значению параметра в dwParam . Формат данных зависит от типа параметра dwParam .
dwFlags
[in] Значения флагов. Параметр зарезервирован для будущего использования и должен быть нулевым.

Возвращаемые значения:

При успешном завершении функция возвращает TRUE, в противном случае возвращается FALSE. Если возвращается FALSE, соответствующий код ошибки (см. таблицу) может быть получен через функцию GetLastError().
Коды возврата Описание
NTE_BAD_FLAGS Параметр dwFlags имеет ненулевое значение.
NTE_BAD_TYPE Параметр dwParam передаёт неизвестное значение параметра.
NTE_BAD_HASH_STATE Была сделана попытка получить значение функции хеширвания для "не закрытого" объекта функции хеширования.

Требования:

Windows 2000/XP/2003: Необходимо Windows 2000 SP4 или старше с Internet Explorer 6.0 или старше.
Windows NT/95/98/ME: CSP 3.0 не поддерживает (см. КриптоПро CSP 2.0 World Wide Web link ).
Solaris: 9 Update 4 или выше.
FreeBSD: FreeBSD 5.2 или выше
Linux: RedHat 7.3, RedHad 9.0.
Файл описания: Прототип описан в файле wincsp.h.
Ядро Windows NT: IRQL < DISPATCH_LEVEL

См. также:

CPCreateHash() ,CPGetHashParam() ,CPSignHash() ,CPSetHashParam в MS CSP World Wide Web link ,CryptSetHashParam в MS CryptoAPI 2.0 World Wide Web link

Крипто-Про CSP Версия: 3.0 Сборка 3293
Что Вы думаете по поводу данной статьи?
Закажите CD c Крипто-Про CSP