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 |