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
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
Cree un par de claves pública y privada temporal para cifrar la clave de cifrado de contenido.
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
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

Consulte también

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

CryptAcquireContext