Función NCryptVerifySignature (ncrypt.h)
La función NCryptVerifySignature comprueba que la firma especificada coincide con el hash especificado.
Sintaxis
SECURITY_STATUS NCryptVerifySignature(
[in] NCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PBYTE pbHashValue,
[in] DWORD cbHashValue,
[in] PBYTE pbSignature,
[in] DWORD cbSignature,
[in] DWORD dwFlags
);
Parámetros
[in] hKey
Identificador de la clave que se va a usar para descifrar la firma. Debe ser una clave idéntica o la parte de clave pública del par de claves que se usa para firmar los datos con la función NCryptSignHash .
[in, optional] pPaddingInfo
Puntero a una estructura que contiene información de relleno. El tipo real de estructura a la que apunta este parámetro depende del valor del parámetro dwFlags . Este parámetro solo se usa con claves asimétricas y debe ser NULL de lo contrario.
[in] pbHashValue
Dirección de un búfer que contiene el hash de los datos. El parámetro cbHash contiene el tamaño de este búfer.
[in] cbHashValue
Tamaño, en bytes, del búfer pbHash .
[in] pbSignature
Dirección de un búfer que contiene el hash firmado de los datos. La función NCryptSignHash se usa para crear la firma. El parámetro cbSignature contiene el tamaño de este búfer.
[in] cbSignature
Tamaño, en bytes, del búfer pbSignature . La función NCryptSignHash se usa para crear la firma.
[in] dwFlags
Marcas que modifican el comportamiento de la función. El conjunto permitido de marcas depende del tipo de clave especificado por el parámetro hKey .
Si la clave es una clave simétrica, este parámetro no se usa y debe ser cero.
Si la clave es una clave asimétrica, puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
El esquema de relleno PKCS1 se usó cuando se creó la firma. El parámetro pPaddingInfo es un puntero a una estructura BCRYPT_PKCS1_PADDING_INFO . |
|
El esquema de relleno del esquema de firma probabilística (PSS) se usó cuando se creó la firma. El parámetro pPaddingInfo es un puntero a una estructura BCRYPT_PSS_PADDING_INFO . |
|
Solicita que el proveedor de servicios clave (KSP) no muestre ninguna interfaz de usuario. Si el proveedor debe mostrar la interfaz de usuario para funcionar, se produce un error en la llamada y el KSP debe establecer el código de error NTE_SILENT_CONTEXT como último error. |
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función.
Entre los posibles códigos de retorno se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
No se comprobó la firma. |
|
El parámetro hKey no es válido. |
|
Error de asignación de memoria. |
|
El proveedor de algoritmos usado para crear el identificador de clave especificado por el parámetro hKey no es un algoritmo de firma. |
Comentarios
Un servicio no debe llamar a esta función desde su función StartService. Si un servicio llama a esta función desde su función StartService, se puede producir un interbloqueo y el servicio puede dejar de responder.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | ncrypt.h |
Library | Ncrypt.lib |
Archivo DLL | Ncrypt.dll |