wincrypt.h) (CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 结构

CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 结构包含邮件收件人的编码密钥传输信息。

语法

typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
  DWORD                      cbSize;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  void                       *pvKeyEncryptionAuxInfo;
  HCRYPTPROV_LEGACY          hCryptProv;
  CRYPT_BIT_BLOB             RecipientPublicKey;
  CERT_ID                    RecipientId;
} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;

成员

cbSize

一个 DWORD 值,该值指示 结构的大小(以字节为单位)。

KeyEncryptionAlgorithm

一个 CRYPT_ALGORITHM_IDENTIFIER值,该值标识密钥加密算法和用于加密内容加密密钥的任何关联参数。

对于 RSA AES,应将 CRYPT_ALGORITHM_IDENTIFIER 结构的 pszObjId 成员设置为 szOID_RSAES_OAEP。 应将 CRYPT_ALGORITHM_IDENTIFIER 结构的 Parameters 成员设置为编码PKCS_RSAES_OAEP_PARAMETERS。 如果 Parameters.cbData 成员等于零,则使用默认参数并对其进行编码。

pvKeyEncryptionAuxInfo

指向结构的 void 指针,该结构包含有关加密的其他信息。 结构的格式取决于 KeyEncryptionAlgorithm 指示的算法。

hCryptProv

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

Windows Server 2003 和 Windows XP: 用于对收件人密钥进行加密和导出的 HCRYPTPROV 值。 不使用提供程序的私钥。 如果 hCryptProvNULL,则使用CMSG_ENVELOPED_ENCODE_INFO中指定的 HCRYPTPROV。请注意,即使在传递给 CryptMsgOpenToEncodedwFlags 参数中设置了CMSG_CRYPT_RELEASE_CONTEXT_FLAG,也不会释放此 HCRYPTPROV

RecipientPublicKey

包含收件人公钥 的CRYPT_BIT_BLOB 变量。

RecipientId

标识收件人 CERT_ID 值。 CMS 支持KEY_IDENTIFIER和ISSUER_SERIAL_NUMBER CERT_ID。 PKCS #7 版本 1.5 仅支持 ISSUER_SERIAL_NUMBER CERT_ID

要求

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