CryptXmlDllSignData 回调函数 (cryptxml.h)
CryptXmlDllSignData 函数对数据进行签名。
CryptXmlDllSignData 函数通过导出的 CryptXmlDllGetInterface 函数公开。
语法
CryptXmlDllSignData Cryptxmldllsigndata;
HRESULT Cryptxmldllsigndata(
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] const BYTE *pbInput,
[in] ULONG cbInput,
[out, optional] BYTE *pbOutput,
[in] ULONG cbOutput,
[out] ULONG *pcbResult
)
{...}
参数
[in] pSignatureMethod
指向 指定算法的CRYPT_XML_ALGORITHM 结构的指针。
[in] hCryptProvOrNCryptKey
加密服务提供程序的句柄 (创建签名的 CSP) 。 此句柄必须是从调用 CryptAcquireContext 函数或通过使用 NCryptOpenKey 函数创建的NCRYPT_KEY_HANDLE句柄获取的 HCRYPTPROV 句柄。 新应用程序应传入 NCRYPT_KEY_HANDLE 句柄。
[in] dwKeySpec
要从提供程序的容器使用的私钥。 此密钥可以AT_KEYEXCHANGE或AT_SIGNATURE。 如果在 hCryptProvOrNCryptKey 参数中使用NCRYPT_KEY_HANDLE句柄,则忽略此参数。
[in] pbInput
指向包含要签名的摘要值的缓冲区的指针。 cbInput 参数包含此缓冲区的大小。
[in] cbInput
pbInput 参数指向的缓冲区的大小(以字节为单位)。
[out, optional] pbOutput
要接收此函数生成的签名的缓冲区的地址。 cbOutput 参数包含此缓冲区的大小。
如果此参数为 NULL,则此函数将计算加密数据所需的大小,并返回 由印刷电路板Result 参数指向的位置的大小。
[in] cbOutput
pbOutput 参数指向的缓冲区的大小(以字节为单位)。
[out] pcbResult
指向 DWORD 变量的指针,该变量接收复制到 pbOutput 缓冲区的字节数。 如果 pbOutput 为 NULL,则接收签名所需的大小(以字节为单位)。
返回值
如果函数成功,则函数返回零。
如果函数失败,它将返回一个 指示错误的 HRESULT 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | cryptxml.h |