функция обратного вызова PFN_CMSG_IMPORT_KEY_TRANS (wincrypt.h)

Функция обратного вызова PFN_CMSG_IMPORT_KEY_TRANS импортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. PFN_CMSG_IMPORT_KEY_TRANS можно установить с помощью идентификатора объектаCryptoAPI. Эта функция вызывается функцией CryptMsgControl , если ее параметру dwCtrlType присвоено значение CMSG_CTRL_DECRYPT.

Синтаксис

PFN_CMSG_IMPORT_KEY_TRANS PfnCmsgImportKeyTrans;

BOOL PfnCmsgImportKeyTrans(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

Параметры

[in] pContentEncryptionAlgorithm

Указатель на структуру CRYPT_ALGORITHM_IDENTIFIER , указывающую алгоритм, используемый для шифрования содержимого сообщения, и все связанные параметры.

[in] pKeyTransDecryptPara

Указатель на структуру CMSG_CTRL_KEY_TRANS_DECRYPT_PARA , содержащую сведения о получателе транспорта ключа.

[in] dwFlags

Это значение не используется. Присвойте ему значение 0.

pvReserved

Этот параметр зарезервирован и должен иметь значение NULL.

[out] phContentEncryptKey

Адрес дескриптора ключа шифрования содержимого, возвращаемого этой функцией.

Возвращаемое значение

Если функция выполнена успешно, возвращается ненулевое значение (TRUE).

Если функция завершается сбоем, возвращаемое значение равно нулю (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.

Если эта функция обратного вызова не поддерживает алгоритм шифрования ключей, она должна вернуть значение FALSE и вызвать SetLastError с E_NOTIMPL.

Комментарии

Для развертывания функции обратного вызова можно использовать функции поддержки OID . Wincrypt.h определяет для этой цели следующие константы.

Константа Определение
CMSG_OID_IMPORT_KEY_TRANS_FUNC или CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC "CryptMsgDllImportKeyTrans"

Требования

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