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