CryptVerifyTimeStampSignature 函数 (wincrypt.h)
CryptVerifyTimeStampSignature 函数验证指定字节数组上的时间戳签名。
语法
BOOL CryptVerifyTimeStampSignature(
[in] const BYTE *pbTSContentInfo,
DWORD cbTSContentInfo,
[in, optional] const BYTE *pbData,
DWORD cbData,
[in, optional] HCERTSTORE hAdditionalStore,
[out] PCRYPT_TIMESTAMP_CONTEXT *ppTsContext,
[out, optional] PCCERT_CONTEXT *ppTsSigner,
[out, optional] HCERTSTORE *phStore
);
参数
[in] pbTSContentInfo
指向包含时间戳内容的缓冲区的指针。
cbTSContentInfo
pbTSContentInfo 参数指向的缓冲区的大小(以字节为单位)。
[in, optional] pbData
指向要验证时间戳签名的字节数组的指针。
cbData
pbData 参数指向的数组的大小(以字节为单位)。
[in, optional] hAdditionalStore
用于搜索支持时间戳机构 (TSA) 签名证书和 证书信任列表 的附加存储的句柄, (CTL) 。 如果不搜索其他存储区,此参数可以为 NULL 。
[out] ppTsContext
指向 PCRYPT_TIMESTAMP_CONTEXT 结构的指针。 使用完上下文后,必须通过调用 CryptMemFree 函数来释放它。
[out, optional] ppTsSigner
指向接收签名者证书 的PCERT_CONTEXT 的指针。 使用此结构后,必须通过将此指针传递给 CertFreeCertificateContext 函数来释放它。
如果不需要 TSA 签名者的证书,请将此参数设置为 NULL 。
[out, optional] phStore
指向句柄的指针,该句柄接收在 CMS 上打开的用于搜索支持证书的证书存储。
如果不需要 TSA 支持证书,此参数可以为 NULL 。 使用此句柄后,必须将其传递给 CertCloseStore 函数来释放它。
返回值
如果函数成功,则函数返回 TRUE。 有关扩展的错误信息,请调用 GetLastError 函数。
注解
当 CryptRetrieveTimeStamp 函数返回CRYPT_TIMESTAMP_INFO结构的 pszTSAPolicyId 成员时,调用方应验证该成员。 如果在请求中指定了 TSA 策略,并且 ftTime 成员包含有效值,则调用方应生成用于填充 ppTsSigner 参数并验证信任的证书上下文链。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | wincrypt.h |
DLL | Crypt32.dll |