wincrypt.h) (CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA 结构

CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA 结构包含用于验证消息签名的信息。 它包含签名者索引和签名者公钥。 签名者公钥可以是签名者的 CERT_PUBLIC_KEY_INFO 结构、 证书上下文或链上下文。

语法

typedef struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
  DWORD             cbSize;
  HCRYPTPROV_LEGACY hCryptProv;
  DWORD             dwSignerIndex;
  DWORD             dwSignerType;
  void              *pvSigner;
} CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA, *PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA;

成员

cbSize

此结构的大小(以字节为单位)。

hCryptProv

此成员未使用,应设置为 NULL

Windows Server 2003 和 Windows XP: 用于验证签名的 加密提供程序 的句柄。 如果 为 NULL,则使用 CryptMsgOpenToDecode 中指定的加密提供程序。 如果 CryptMsgOpenToDecode 中的 hCryptProv 也为 NULL,则根据签名者的公钥对象标识符使用默认提供程序 (OID) 。此成员的数据类型为 HCRYPTPROV

dwSignerIndex

消息中签名者的索引。

dwSignerType

包含签名者信息的 结构。 下表显示了预定义的值和指示的结构。

含义
CMSG_VERIFY_SIGNER_PUBKEY

CERT_PUBLIC_KEY_INFO

CMSG_VERIFY_SIGNER_CERT

CERT_CONTEXT

CMSG_VERIFY_SIGNER_CHAIN

CERT_CHAIN_CONTEXT

CMSG_VERIFY_SIGNER_NULL
NULL

pvSigner

指向 CERT_PUBLIC_KEY_INFO 结构、 证书上下文、链上下文或 NULL 的指针,具体取决于 dwSignerType 的值。

注解

如果 dwSignerType CMSG_VERIFY_SIGNER_NULL,则签名应仅包含未加密的哈希八进制数。

要求

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