Función CryptSetHashParam (wincrypt.h)
Sintaxis
BOOL CryptSetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parámetros
[in] hHash
Identificador del objeto hash en el que se van a establecer parámetros.
[in] dwParam
Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Puntero a una estructura HMAC_INFO que especifica el algoritmo hash criptográfico y las cadenas internas y externas que se van a usar. |
|
Matriz de bytes que contiene un valor hash que se va a colocar directamente en el objeto hash. Antes de establecer este valor, se debe determinar el tamaño del valor hash mediante la función CryptGetHashParam para leer el valor de HP_HASHSIZE.
Algunos proveedores de servicios criptográficos (CSP) no admiten esta funcionalidad. |
[in] pbData
Un búfer de datos de valor. Coloque los datos de valor en este búfer antes de llamar a CryptSetHashParam. La forma de estos datos varía, según el número de valor.
[in] dwFlags
Este parámetro está reservado para uso futuro y debe establecerse en cero.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve TRUE.
Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError.
Los códigos de error precedidos por "NTE" se generan mediante el CSP concreto que usa. A continuación se indican algunos códigos de error posibles.
Código devuelto | Descripción |
---|---|
|
Uno de los parámetros especifica un identificador que no es válido. |
|
Otro proceso está usando el contexto de CSP. |
|
Uno de los parámetros contiene un valor que no es válido. Suele ser un puntero que no es válido. |
|
El parámetro dwFlags es distinto de cero o el búfer pbData contiene un valor que no es válido. |
|
El objeto hash especificado por el parámetro hHash no es válido. |
|
El parámetro dwParam especifica un valor desconocido. |
|
No se encuentra el contexto de CSP que se especificó cuando no se creó la clave hKey . |
|
Error en la función de alguna manera inesperada. |
Comentarios
En ocasiones, se debe firmar un valor hash que se haya generado en otro lugar. Esto se puede hacer mediante la siguiente secuencia de operaciones:
- Cree un objeto hash mediante CryptCreateHash.
- Establezca el valor de HP_HASHVAL.
- Firme el valor hash mediante CryptSignHash y obtenga un bloque de firma digital.
- Destruya el objeto hash mediante CryptDestroyHash.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |