Función BCryptSignHash (bcrypt.h)
La función
Sintaxis
NTSTATUS BCryptSignHash(
[in] BCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[out] PUCHAR pbOutput,
[in] ULONG cbOutput,
[out] ULONG *pcbResult,
[in] ULONG dwFlags
);
Parámetros
[in] hKey
Identificador de la clave que se va a usar para firmar el hash.
[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] pbInput
Puntero a un búfer que contiene el valor hash que se va a firmar. El parámetro cbInput contiene el tamaño de este búfer.
[in] cbInput
Número de bytes del búfer de pbInput que se va a firmar.
[out] pbOutput
Dirección de un búfer para recibir la firma generada por esta función. El parámetro cbOutput contiene el tamaño de este búfer.
Si este parámetro es NULL, esta función calculará el tamaño necesario para la firma y devolverá el tamaño en la ubicación a la que apunta el parámetro pcbResult.
[in] cbOutput
Tamaño, en bytes, del búfer de pbOutput. Este parámetro se omite si el parámetro pbOutput es NULL.
[out] pcbResult
Puntero a una variable de ULONG de
Si pbOutput es NULL, recibe el tamaño, en bytes, necesario para la firma.
[in] dwFlags
Conjunto de marcas que modifican el comportamiento de esta función. El conjunto permitido de marcas depende del tipo de clave especificado por el parámetro hKey.
Puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
Use el esquema de relleno PKCS1. El parámetro pPaddingInfo es un puntero a una estructura BCRYPT_PKCS1_PADDING_INFO. |
|
Use el esquema de relleno esquema de firma probabilística (PSS). El parámetro pPaddingInfo es un puntero a una estructura BCRYPT_PSS_PADDING_INFO. |
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función.
Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
El identificador de clave especificado por el parámetro hKey no es válido. |
|
El proveedor de algoritmos usado para crear el identificador de clave especificado por el parámetro hKey no es un algoritmo de firma. |
|
Error de asignación de memoria. |
|
El tamaño de memoria especificado por el parámetro cbOutput no es lo suficientemente grande como para contener la firma. |
Observaciones
Esta función cifrará el valor hash con la clave especificada para crear la firma.
Para comprobar más adelante que la firma es válida, llame a la función BCryptVerifySignature
En función de los modos de procesador que admita un proveedor, se puede llamar a
Para llamar a esta función en modo kernel, use Cng.lib, que forma parte del Kit de desarrollo de controladores (DDK). Windows Server 2008 y Windows Vista: Para llamar a esta función en modo kernel, use Ksecdd.lib.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
bcrypt.h |
biblioteca de |
Bcrypt.lib |
DLL de |
Bcrypt.dll |