CryptVerifyTimeStampSignature 函数验证指定字节数组上的时间戳签名。
Syntax
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)签名证书和 证书信任列表 (CCL)的其他存储的句柄。 如果未搜索其他存储,则此参数可以为 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 参数并验证信任。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
| 支持的最低服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
| 目标平台 | Windows操作系统 |
| Header | wincrypt.h |
| Library | Crypt32.Lib |
| DLL | Crypt32.dll |