estructura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO (wincrypt.h)
La estructura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO contiene información sobre un destinatario del mensaje que usa la administración de claves de contrato de claves. Esta estructura se usa con la estructura CMSG_RECIPIENT_ENCODE_INFO .
Sintaxis
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;
Miembros
cbSize
Tamaño, en bytes, de esta estructura.
KeyEncryptionAlgorithm
Estructura CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo utilizado para el cifrado.
En el caso de los destinatarios ECC, el miembro pszObjId de la estructura CRYPT_ALGORITHM_IDENTIFIER debe establecerse en szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF con el miembro dwKeyChoice de esta estructura de CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO establecida en CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.
pvKeyEncryptionAuxInfo
Este miembro no se usa actualmente. Debe establecerse en NULL.
KeyWrapAlgorithm
Estructura CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo utilizado para el ajuste de claves.
pvKeyWrapAuxInfo
Puntero a una estructura de CMSG_RC2_AUX_INFO que especifica la longitud del bit de ajuste de clave. Este miembro solo se usa si el miembro KeyWrapAlgorithm especifica un algoritmo RC2. Si KeyWrapAlgorithm especifica un algoritmo distinto de un algoritmo RC2, este miembro no se usa y debe ser NULL.
hCryptProv
Este miembro no se usa y debe establecerse en NULL.
Windows Server 2003 y Windows XP: Identificador de un proveedor de servicios criptográficos (CSP) obtenido mediante la función CryptAcquireContext . Este miembro es opcional y puede ser NULL. El tipo de datos de este miembro es HCRYPTPROV.
dwKeySpec
Este miembro no se usa actualmente.
dwKeyChoice
Indica el tipo de contrato de clave. Este miembro puede ser uno de los valores siguientes.
Value | Significado |
---|---|
|
Cree un par de claves pública y privada temporal para cifrar la clave de cifrado de contenido. |
|
Este valor no se utiliza actualmente. |
DUMMYUNIONNAME
DUMMYUNIONNAME.pEphemeralAlgorithm
Puntero a una estructura de CRYPT_ALGORITHM_IDENTIFIER que contiene el algoritmo de clave pública efímera y los parámetros. Este miembro se usa cuando el miembro dwKeyChoice contiene CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.
DUMMYUNIONNAME.pSenderId
Puntero a una estructura CERT_ID . Este miembro se usa cuando el miembro dwKeyChoice contiene CMSG_KEY_AGREE_STATIC_KEY_CHOICE. Este miembro no se usa actualmente.
UserKeyingMaterial
Estructura CRYPT_DATA_BLOB que contiene material de clave de usuario (UKM) proporcionado por el remitente para asegurarse de que se genera una clave diferente cada vez que las mismas dos partes generan una clave de pares. Este miembro es opcional y todos los miembros deben establecerse en cero si no se usan.
cRecipientEncryptedKeys
Número de elementos de la matriz rgpRecipientEncryptedKeys .
rgpRecipientEncryptedKeys
Matriz de estructuras de CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO , una para cada destinatario para recibir esta clave de acuerdo de clave. El miembro cRecipientEncryptedKeys contiene el número de elementos de esta estructura.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | wincrypt.h |