CryptVerifyTimeStampSignature 函数 (wincrypt.h)

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

另请参阅

CryptRetrieveTimeStamp