View a markdown version of this page

NCryptSignHash 使用密钥存储提供商 (KSP) - AWS CloudHSM

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

hKey 中的句柄无效。

NTE_BAD_FLAGS

dwFlags 参数包含无效值。

NTE_BUFFER_TOO_SMALL

pcbOutput 参数对于返回值来说太小。

NTE_BAD_KEY_STATE

密钥状态无效。

NTE_INTERNAL_ERROR

对哈希进行签名时发生内部错误。