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

另请参阅

CryptRetrieveTimeStamp