CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 结构 (wincrypt.h)
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO结构包含有关使用密钥协议密钥管理的邮件收件人的信息。此结构与 CMSG_RECIPIENT_ENCODE_INFO 结构一起使用。
语法
typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm;
void *pvKeyWrapAuxInfo;
HCRYPTPROV_LEGACY hCryptProv;
DWORD dwKeySpec;
DWORD dwKeyChoice;
union {
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
PCERT_ID pSenderId;
} DUMMYUNIONNAME;
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD cRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
成员
cbSize
此结构的大小(以字节为单位)。
KeyEncryptionAlgorithm
指定用于加密的算法 的CRYPT_ALGORITHM_IDENTIFIER 结构。
对于 ECC 收件人,应将 CRYPT_ALGORITHM_IDENTIFIER 结构的 pszObjId 成员设置为 szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF,并将此 CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 结构的 dwKeyChoice 成员设置为 CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE。
pvKeyEncryptionAuxInfo
当前未使用此成员。 它必须设置为 NULL。
KeyWrapAlgorithm
一个 CRYPT_ALGORITHM_IDENTIFIER 结构,指定用于密钥包装的算法。
pvKeyWrapAuxInfo
指向 CMSG_RC2_AUX_INFO 结构的指针,该结构指定密钥包装位长度。 仅当 KeyWrapAlgorithm 成员指定 RC2 算法时,才使用此成员。 如果 KeyWrapAlgorithm 指定 RC2 算法以外的算法,则不会使用此成员,并且必须为 NULL。
hCryptProv
此成员未使用,应设置为 NULL。
Windows Server 2003 和 Windows XP: 加密 服务提供程序 的句柄 (CSP) 使用 CryptAcquireContext 函数获取。 此成员是可选的,可以为 NULL。此成员的数据类型为 HCRYPTPROV。
dwKeySpec
当前未使用此成员。
dwKeyChoice
指示密钥协议的类型。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
创建临时 公钥/私钥对 来加密内容加密密钥。 |
|
目前不会使用此值。 |
DUMMYUNIONNAME
DUMMYUNIONNAME.pEphemeralAlgorithm
指向包含临时公钥算法和参数 的CRYPT_ALGORITHM_IDENTIFIER 结构的指针。 当 dwKeyChoice 成员包含 CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE时使用此成员。
DUMMYUNIONNAME.pSenderId
指向 CERT_ID 结构的指针。 当 dwKeyChoice 成员包含 CMSG_KEY_AGREE_STATIC_KEY_CHOICE时使用此成员。 当前未使用此成员。
UserKeyingMaterial
包含用户密钥材料 ( UKM) 发送方提供的CRYPT_DATA_BLOB结构,以确保每次同一方生成成对密钥时生成不同的密钥。 此成员是可选的,如果未使用,则应将所有成员设置为零。
cRecipientEncryptedKeys
rgpRecipientEncryptedKeys 数组中的元素数。
rgpRecipientEncryptedKeys
一个CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO结构的数组,每个接收者一个接收此密钥协议密钥。 cRecipientEncryptedKeys 成员包含此结构中的元素数。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |