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 值。 不使用提供程序的私钥。 如果 hCryptProv 为 NULL,则使用CMSG_ENVELOPED_ENCODE_INFO中指定的 HCRYPTPROV。请注意,即使在传递给 CryptMsgOpenToEncode 的 dwFlags 参数中设置了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 |