функция обратного вызова PFN_CMSG_EXPORT_KEY_TRANS (wincrypt.h)
Функция обратного вызова PFN_CMSG_EXPORT_KEY_TRANS шифрует и экспортирует ключ шифрования содержимого для получателя транспорта ключа конвертированного сообщения.
Синтаксис
PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;
BOOL PfnCmsgExportKeyTrans(
[in] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
[in] PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
[in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Параметры
[in] pContentEncryptInfo
Указатель на CMSG_CONTENT_ENCRYPT_INFO структуру, содержащую ключ шифрования содержимого.
[in] pKeyTransEncodeInfo
Указатель на структуру CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, указывающую открытый ключ получателя, используемый для шифрования ключа шифрования содержимого.
[in, out] pKeyTransEncryptInfo
Указатель на структуру CMSG_KEY_TRANS_ENCRYPT_INFO, содержащую зашифрованный ключ шифрования содержимого.
[in] dwFlags
Это значение не используется. Присвойте ему значение нулю.
pvReserved
Это значение зарезервировано. Задайте для него значение NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое (TRUE).
Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения расширенных сведений об ошибке вызовите GetLastError.
Замечания
Функция PFN_CMSG_EXPORT_KEY_TRANS должна обновить элемент EncryptedKey структуры CMSG_KEY_TRANS_ENCRYPT_INFO, на которую указывает параметр pKeyTransEncryptInfo. Эта функция должна использовать pfnAlloc и pfnFree членов структуры CMSG_CONTENT_ENCRYPT_INFO, на которую указывает параметр pContentEncryptInfo для управления выделением памяти для зашифрованного ключа.
Функции поддержки OID можно использовать для развертывания этой функции обратного вызова. Wincrypt.h определяет следующие константы для этой цели.
Необходимо определить различные функции обратного вызова для ключей CAPI1 и API шифрования: ключи следующего поколения (CNG). Обе функции имеют одинаковую сигнатуру, но используют разные идентификаторы. Какая функция вызывается, зависит от значения fCNG члена структуры CMSG_CONTENT_ENCRYPT_INFO, на которую указывает параметр pContentEncryptInfo. В следующей таблице показана связь между функцией обратного вызова и значением элемента fCNG.
Значение fCNG | Постоянный | Определение |
---|---|---|
ЛОЖНЫЙ | CMSG_OID_EXPORT_KEY_TRANS_FUNC или CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllExportKeyTrans" |
ИСТИННЫЙ | CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllCNGExportKeyTrans" |
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wincrypt.h |