PFN_CRYPT_GET_SIGNER_CERTIFICATE回调函数 (wincrypt.h)

CryptGetSignerCertificateCallback 用户提供的回调函数与 CRYPT_VERIFY_MESSAGE_PARA 结构一起使用,以获取和验证消息签名者的证书。

语法

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

PCCERT_CONTEXT PfnCryptGetSignerCertificate(
  [in] void *pvGetArg,
  [in] DWORD dwCertEncodingType,
  [in] PCERT_INFO pSignerId,
  [in] HCERTSTORE hMsgCertStore
)
{...}

参数

[in] pvGetArg

指向传递给验证函数的用户定义数据的指针 ,如CRYPT_VERIFY_MESSAGE_PARA 结构中指定的。

[in] dwCertEncodingType

指定使用的编码类型。 始终可以接受将证书和 消息编码类型 与按位 OR 操作组合在一起,如以下示例所示:

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING

当前定义的编码类型包括:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignerId

指向包含颁发者和序列号 的 CERT_INFO 结构的指针。 如果没有内容或签名者,可以为 NULL

[in] hMsgCertStore

证书存储的句柄,其中包含已签名消息中的所有证书和 CRL。

返回值

如果找到签名者证书,该函数将返回指向只读 CERT_CONTEXT的指针。 返回 的CERT_CONTEXT 是从证书存储中获取的,或者使用 CertCreateCertificateContext 创建的。 在任一情况下,必须使用 CertFreeCertificateContext 将其释放。 如果此函数失败,则返回值为 NULL

注解

如果消息不包含内容或签名者,则将 pSignerId 设置为 NULL 的情况下调用该函数。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wincrypt.h