wincrypt.h) (CMSG_CTRL_DECRYPT_PARA 结构

CMSG_CTRL_DECRYPT_PARA 结构包含用于解密密钥传输收件人的信封邮件的信息。 如果CMSG_CTRL_DECRYPT dwCtrlType 参数,则此结构将传递给 CryptMsgControl

有关 CryptoAPI 如何支持 安全/多用途 Internet 邮件扩展 (S/MIME) 电子邮件互操作性的信息,请参阅 CryptMsgOpenToEncode 的“备注”部分。

语法

typedef struct _CMSG_CTRL_DECRYPT_PARA {
  DWORD cbSize;
  union {
    HCRYPTPROV        hCryptProv;
    NCRYPT_KEY_HANDLE hNCryptKey;
  } DUMMYUNIONNAME;
  DWORD dwKeySpec;
  DWORD dwRecipientIndex;
} CMSG_CTRL_DECRYPT_PARA, *PCMSG_CTRL_DECRYPT_PARA;

成员

cbSize

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

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

加密服务提供程序 (CSP) 句柄。 调用 CNG 函数 NCryptIsKeyHandle 来确定联合选项。

DUMMYUNIONNAME.hNCryptKey

CNG 加密服务提供程序 的句柄 (CSP) 。 调用 CNG 函数 NCryptIsKeyHandle 来确定联合选择。 新加密算法仅在 CNG 函数中受支持。 将调用 CNG 函数 NCryptTranslateHandle,以在必要时转换 CryptoAPI hCryptProv 选项。 我们建议应用程序将从 NCryptOpenKey 函数返回的 CNG CSP 句柄传递给 hNCryptKey 成员。

dwKeySpec

要使用的私钥。 使用 hNCryptKey 成员时,不使用此成员。

以下 dwKeySpec 值是为默认提供程序定义的。

含义
AT_KEYEXCHANGE
用于加密和解密会话密钥的密钥。
AT_SIGNATURE
用于创建和验证数字签名的密钥。
 

如果 dwKeySpec 为零,则使用默认AT_KEYEXCHANGE。

dwRecipientIndex

hCryptProv 私钥关联的邮件中的收件人的索引。

要求

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

另请参阅

CryptMsgControl