本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
NCryptSignHash 使用密钥存储提供商 (KSP)
NCryptSignHash 函数创建哈希值的签名。
参数
-
hKey[in] -
用于对哈希进行签名的密钥的句柄。
pPaddingInfo[in, optional]-
指向包含填充信息的结构的指针。结构类型取决于
dwFlags值。仅对非对称密钥使用此参数;对于其他密钥类型,请设置为 NULL。 pbHashValue[in]-
指向包含待签名哈希值的缓冲区的指针。使用
cbHashValue指定缓冲区大小。 cbHashValue[in]-
待签名
pbHashValue缓冲区的大小,以字节为单位。 pbSignature[out]-
用于存储签名的缓冲区的地址。使用
cbSignature指定缓冲区大小。要确定所需的缓冲区大小,请将此参数设置为 NULL。该函数将所需的大小(以字节为单位)存储在
pcbResult所指向的位置。 cbSignature[in]-
pbSignature缓冲区的大小,以字节为单位。如果pbSignature为 NULL,则该函数将忽略此参数。 pcbResult[out]-
指向 DWORD 变量的指针,该变量存储复制到
pbSignature缓冲区的字节数。如果
pbSignature为 NULL,则存储所需的缓冲区大小,以字节为单位。 dwFlags[in]-
用于修改函数行为的标志。允许的标志取决于您的密钥类型。使用以下值之一:
值 含义 bcrypt_pad_ PKCS1
使用填 PKCS1 充方案。将
pPaddingInfo设置为指向BCRYPT_PKCS1_PADDING_INFO结构。BCRYPT_PAD_PSS
使用概率签名方案(PSS)填充方案。将
pPaddingInfo参数设置为指向BCRYPT_PSS_PADDING_INFO结构。NCRYPT_SILENT_FLAG
此标志无效。
返回值
该函数返回一个状态代码,指示成功或失败。
常见的返回代码包括:
| 返回代码 | 说明 |
|---|---|
|
ERROR_SUCCESS |
操作已成功完成。 |
|
NTE_INVALID_PARAMETER |
一个或多个参数无效。 |
|
NTE_FAIL |
操作无法完成。 |
|
NTE_INVALID_HANDLE |
|
|
NTE_BAD_FLAGS |
|
|
NTE_BUFFER_TOO_SMALL |
|
|
NTE_BAD_KEY_STATE |
密钥状态无效。 |
|
NTE_INTERNAL_ERROR |
对哈希进行签名时发生内部错误。 |