estructura CMSG_KEY_TRANS_ENCRYPT_INFO (wincrypt.h)

La estructura de CMSG_KEY_TRANS_ENCRYPT_INFO contiene información de cifrado para un destinatario de transporte de claves de datos sobres. La función PFN_CMSG_EXPORT_KEY_TRANS actualiza esta estructura.

Sintaxis

typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
  DWORD                      cbSize;
  DWORD                      dwRecipientIndex;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  CRYPT_DATA_BLOB            EncryptedKey;
  DWORD                      dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;

Miembros

cbSize

Tamaño, en bytes, de esta estructura.

dwRecipientIndex

Valor que especifica el número ordinal de un destinatario en la lista de destinatarios especificado por el parámetro pContentEncryptInfo de la función PFN_CMSG_EXPORT_KEY_TRANS .

KeyEncryptionAlgorithm

Estructura CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo de la clave pública del destinatario. La función CryptMsgOpenToEncode usa el miembro pszObjId de la estructura CRYPT_ALGORITHM_IDENTIFIER para obtener la dirección de la función utilizada para exportar la clave. La función se puede instalar mediante un identificador de objeto de Cryptography API: Next Generation (CNG) (OID).

EncryptedKey

Estructura CRYPT_DATA_BLOB que contiene la clave de sesión cifrada por la clave pública del destinatario.

dwFlags

Valor que especifica qué miembros se han actualizado y cuya asignación de memoria debe liberarse mediante la función CryptMsgOpenToEncode .

Valor Significado
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
Se actualizó el miembro pszObjId de la estructura de CRYPT_ALGORITHM_IDENTIFIER a la que hace referencia el miembro KeyEncryptionAlgorithm .
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
Se actualizó el miembro pbData parameters de la estructura CRYPT_ALGORITHM_IDENTIFIER a la que hace referencia el miembro KeyEncryptionAlgorithm.

Comentarios

Cuando se llama con el parámetro dwMsgType establecido en CMSG_ENVELOPED, la función CryptMsgOpenToEncode inicializa la estructura CMSG_KEY_TRANS_ENCRYPT_INFO de la estructura CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO . La función CryptMsgOpenToEncode llama a la función PFN_CMSG_EXPORT_KEY_TRANS para actualizar la estructura CMSG_KEY_TRANS_ENCRYPT_INFO . Si no se encuentra la función de devolución de llamada, la función CryptMsgOpenToEncode rellena esta estructura con información de clave predeterminada de la estructura CMSG_CONTENT_ENCRYPT_INFO .

La función de devolución de llamada puede actualizar los siguientes miembros de la estructura de CMSG_KEY_TRANS_ENCRYPT_INFO :

EncryptedKey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

Los demás miembros son de solo lectura.

Requisitos

Requisito Value
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

Codificación de datos sobres