

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# NCryptSignHash con el proveedor de almacenamiento de claves (KSP)
<a name="ksp-library-apis-sign-hash"></a>

La función `NCryptSignHash` crea una firma de un valor hash.

## Parameters
<a name="ksp-library-apis-sign-hash-parameters"></a>

 `hKey` [entrada]   
 El identificador de la clave que se va a usar para firmar el hash. 

`pPaddingInfo` [entrada, opcional]  
Un puntero a una estructura que contiene información de relleno. El tipo de estructura depende del valor `dwFlags`. Utilice este parámetro solo con claves asimétricas; establézcalo en NULL para otros tipos de claves.

`pbHashValue` [entrada]  
Un puntero a un búfer que contiene el valor hash que se va a firmar. Especifique el tamaño del búfer mediante `cbHashValue`.

`cbHashValue` [entrada]  
El tamaño, en bytes, del búfer `pbHashValue` que se va a firmar.

`pbSignature` [salida]  
La dirección de un búfer para almacenar la firma. Especifique el tamaño del búfer mediante `cbSignature`.  
Para determinar el tamaño de búfer requerido, establezca este parámetro en NULL. La función almacena el tamaño requerido (en bytes) en la ubicación a la que apunta `pcbResult`.

`cbSignature` [entrada]  
El tamaño del búfer `pbSignature` en bytes. La función ignora este parámetro si `pbSignature` es NULL.

`pcbResult` [salida]  
Un puntero a una variable DWORD que almacena el número de bytes copiados en el búfer `pbSignature`.  
Si `pbSignature` es NULL, se almacena el tamaño de búfer requerido, en bytes. 

`dwFlags` [entrada]  
Indicadores para modificar el comportamiento de la función. Los indicadores permitidos dependen del tipo de clave. Use uno de los siguientes valores:    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/ksp-library-apis-sign-hash.html)

## Valor de retorno
<a name="ksp-library-apis-sign-hash-return-value"></a>

La función devuelve un código de estado para indicar si la operación se realizó correctamente o si se produjo un error.

Los códigos de retorno comunes incluyen:


****  

| Código de retorno | Description (Descripción) | 
| --- | --- | 
| ERROR\_SUCCESS | La operación se completó correctamente. | 
| NTE\_INVALID\_PARAMETER | Uno o más parámetros no son válidos. | 
| NTE\_FAIL | La operación no se pudo completar. | 
| NTE\_INVALID\_HANDLE | El identificador en `hKey` no es válido. | 
| NTE\_BAD\_FLAGS | El parámetro `dwFlags` contiene un valor que no es válido. | 
| NTE\_BUFFER\_TOO\_SMALL | El parámetro `pcbOutput` es demasiado pequeño para los valores de retorno. | 
| NTE\_BAD\_KEY\_STATE | El estado de la clave no es válido. | 
| NTE\_INTERNAL\_ERROR | Se produjo un error interno al firmar el hash. | 