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