Функция NCryptUnprotectSecret (ncryptprotect.h)
Функция NCryptUnprotectSecret расшифровывает данные в указанный дескриптор защиты. Вызовите NCryptProtectSecret для шифрования данных.
Синтаксис
SECURITY_STATUS NCryptUnprotectSecret(
[out, optional] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor,
[in] DWORD dwFlags,
[in] const BYTE *pbProtectedBlob,
ULONG cbProtectedBlob,
[in, optional] const NCRYPT_ALLOC_PARA *pMemPara,
[in, optional] HWND hWnd,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
Параметры
[out, optional] phDescriptor
Указатель на дескриптор дескриптора защиты.
[in] dwFlags
Флаг может быть равен нулю или побитовой или из следующих значений.
[in] pbProtectedBlob
Указатель на массив байтов, содержащий данные для расшифровки.
cbProtectedBlob
Число байтов в массиве, на который указывает параметр pbProtectedBlob .
[in, optional] pMemPara
Указатель на структуру NCRYPT_ALLOC_PARA , которую можно использовать для указания пользовательских функций управления памятью. Если для этого аргумента задано значение NULL, функция LocalAlloc используется внутренне для выделения памяти, и приложение должно вызвать LocalFree , чтобы освободить память, на которую указывает параметр ppbData .
[in, optional] hWnd
Дескриптор к родительскому окну пользовательского интерфейса, если таковой есть, для отображения.
[out] ppbData
Адрес переменной, получающей указатель на расшифрованные данные.
[out] pcbData
Указатель на переменную ULONG , содержащую размер в байтах расшифрованных данных, на которые указывает переменная ppbData .
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции. Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Параметр dwFlags может содержать только NCRYPT_SILENT_FLAG или NCRYPT_UNPROTECT_NO_DECRYPT. |
|
Параметры pbProtectedBlob, ppbData и pcbData не могут иметь значение NULL.
Параметр cbData не может быть меньше единицы. |
Комментарии
Используйте функцию NCryptUnprotectSecret для расшифровки ключей, материала ключа и паролей. Используйте функции NCryptStreamOpenToUnprotect и NCryptStreamUpdate для расшифровки больших сообщений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | ncryptprotect.h |
Библиотека | NCrypt.lib |
DLL | NCrypt.dll |