функция обратного вызова PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY (wincrypt.h)
Функция обратного вызова PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY импортирует уже расшифрованный ключ шифрования содержимого (CEK). Функцию PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY можно установить с помощью API шифрования: идентификатор объекта (OID) следующего поколения (CNG).
Синтаксис
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY PfnCmsgCngImportContentEncryptKey;
BOOL PfnCmsgCngImportContentEncryptKey(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Параметры
[in, out] pCNGContentDecryptInfo
Указатель на структуру CMSG_CNG_CONTENT_DECRYPT_INFO , обновляемую с помощью импортированного CEK. Эта структура содержит все соответствующие сведения, передаваемые в функцию CryptMsgControl .
[in] dwFlags
Этот параметр зарезервирован. Присвойте ему значение 0.
pvReserved
Этот параметр зарезервирован. Присвойте ему значение NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE).
Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Если эта функция обратного вызова не поддерживает алгоритм шифрования ключей, она должна возвращать значение FALSE и вызывать Метод SetLastError с ERROR_NOT_SUPPORTED.
Комментарии
Функция CryptMsgControl вызывает эту функцию для следующих операций, указанных параметром dwCtrlType :
- CMSG_CTRL_DECRYPT
- CMSG_CTRL_KEY_TRANS_DECRYPT
- CMSG_CTRL_KEY_AGREE_DECRYPT
Для развертывания этой функции обратного вызова можно использовать функции поддержки OID . Для этой цели Wincrypt.h определяет следующую константу.
Константа | Определение |
---|---|
CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC | "CryptMsgDllCNGImportContentEncryptKey" |
Примеры
Пример развертывания функции обратного вызова с возможностью установки OID см. в разделе Расширение функциональных возможностей CryptoAPI.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |