Поделиться через


структура CMSG_KEY_TRANS_ENCRYPT_INFO (wincrypt.h)

Структура CMSG_KEY_TRANS_ENCRYPT_INFO содержит сведения о шифровании для получателя транспорта ключа, содержащего конвертированные данные. Функция PFN_CMSG_EXPORT_KEY_TRANS обновляет эту структуру.

Синтаксис

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;

Члены

cbSize

Размер данной структуры (в байтах).

dwRecipientIndex

Значение типа , указывающее порядковый номер получателя в списке получателей, заданном параметром pContentEncryptInfo функции PFN_CMSG_EXPORT_KEY_TRANS .

KeyEncryptionAlgorithm

Структура CRYPT_ALGORITHM_IDENTIFIER , задающая алгоритм открытого ключа получателя. Функция CryptMsgOpenToEncode использует элемент pszObjId структуры CRYPT_ALGORITHM_IDENTIFIER для получения адреса функции, используемой для экспорта ключа. Функцию можно установить с помощью API шифрования: идентификатор объекта (OID) следующего поколения (CNG).

EncryptedKey

Структура CRYPT_DATA_BLOB , содержащая ключ сеанса, зашифрованный открытым ключом получателя.

dwFlags

Значение типа , указывающее, какие элементы были обновлены и чье выделение памяти должно быть освобождено с помощью функции CryptMsgOpenToEncode .

Значение Значение
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
Обновлен элемент pszObjIdструктуры CRYPT_ALGORITHM_IDENTIFIER , на который ссылается элемент KeyEncryptionAlgorithm .
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
Обновлен элемент ParameterspbDataструктуры CRYPT_ALGORITHM_IDENTIFIER , на которую ссылается элемент KeyEncryptionAlgorithm .

Комментарии

При вызове с параметром dwMsgType для параметра CMSG_ENVELOPED функция CryptMsgOpenToEncode инициализирует структуру CMSG_KEY_TRANS_ENCRYPT_INFO из структуры CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO . Функция CryptMsgOpenToEncode вызывает функцию PFN_CMSG_EXPORT_KEY_TRANS для обновления структуры CMSG_KEY_TRANS_ENCRYPT_INFO . Если функция обратного вызова не найдена, функция CryptMsgOpenToEncode заполняет эту структуру сведениями о ключе по умолчанию из структуры CMSG_CONTENT_ENCRYPT_INFO .

Функция обратного вызова может обновить следующие элементы структуры CMSG_KEY_TRANS_ENCRYPT_INFO :

EncryptedKey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

Остальные члены доступны только для чтения.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h

См. также раздел

Кодирование закодированных данных