

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# NCryptSignHash 與金鑰儲存提供者 (KSP)
<a name="ksp-library-apis-sign-hash"></a>

`NCryptSignHash` 函數會建立雜湊值的簽章。

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

 `hKey` 【in】   
 用來簽署雜湊之金鑰的控制代碼。

`pPaddingInfo` 【in，選用】  
包含填補資訊的結構指標。結構類型取決於 `dwFlags`值。僅將此參數與非對稱金鑰搭配使用；將其他金鑰類型設為 NULL。

`pbHashValue` 【in】  
緩衝區的指標，其中包含要簽署的雜湊值。使用 指定緩衝區大小`cbHashValue`。

`cbHashValue` 【in】  
要簽署之`pbHashValue`緩衝區的大小，以位元組為單位。

`pbSignature` 【輸出】  
儲存簽章的緩衝區地址。使用 指定緩衝區大小`cbSignature`。  
若要判斷所需的緩衝區大小，請將此參數設定為 NULL。函數會將所需的大小 （以位元組為單位） 存放在 指向的位置`pcbResult`。

`cbSignature` 【in】  
`pbSignature` 緩衝區的大小，以位元組為單位。如果 `pbSignature`是 NULL，則函數會忽略此參數。

`pcbResult` 【輸出】  
指向 DWORD 變數的指標，可存放複製到`pbSignature`緩衝區的位元組數。  
如果 `pbSignature`是 NULL，則會以位元組為單位存放所需的緩衝區大小。

`dwFlags` 【in】  
用於修改函數行為的旗標。允許的旗標取決於您的金鑰類型。使用下列其中一個值：    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/cloudhsm/latest/userguide/ksp-library-apis-sign-hash.html)

## 傳回值
<a name="ksp-library-apis-sign-hash-return-value"></a>

函數會傳回狀態碼，表示成功或失敗。

常見的傳回碼包括：


****  

| 傳回代碼 | Description | 
| --- | --- | 
| ERROR\_SUCCESS | 操作已成功完成。 | 
| NTE\_INVALID\_PARAMETER | 一或多個參數無效。 | 
| NTE\_FAIL | 操作無法完成。 | 
| NTE\_INVALID\_HANDLE | 中的控點`hKey`無效。 | 
| NTE\_BAD\_FLAGS | `dwFlags` 參數包含無效的值。 | 
| NTE\_BUFFER\_TOO\_SMALL | `pcbOutput` 參數太小，無法傳回值。 | 
| NTE\_BAD\_KEY\_STATE | 金鑰狀態無效。 | 
| NTE\_INTERNAL\_ERROR | 簽署雜湊時發生內部錯誤。 | 