Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция NCryptDecrypt расшифровывает блок зашифрованных данных.
Синтаксис
SECURITY_STATUS NCryptDecrypt(
[in] NCRYPT_KEY_HANDLE hKey,
[in] PBYTE pbInput,
[in] DWORD cbInput,
[in, optional] VOID *pPaddingInfo,
[out] PBYTE pbOutput,
[in] DWORD cbOutput,
[out] DWORD *pcbResult,
[in] DWORD dwFlags
);
Параметры
[in] hKey
Дескриптор ключа, используемого для расшифровки данных.
[in] pbInput
Адрес буфера, содержащего данные для расшифровки. Параметр cbInput содержит размер данных для расшифровки. Дополнительные сведения см. в подразделе "Примечания".
[in] cbInput
Число байтов в буфере pbInput для расшифровки.
[in, optional] pPaddingInfo
Указатель на структуру, содержащую сведения о заполнении. Фактический тип структуры, на который указывает этот параметр, зависит от значения параметра dwFlags . Этот параметр используется только с асимметричными ключами и в противном случае должен иметь значение NULL .
[out] pbOutput
Адрес буфера, который будет получать расшифрованные данные, созданные этой функцией. Параметр cbOutput содержит размер этого буфера. Дополнительные сведения см. в подразделе "Примечания".
Если этот параметр имеет значение NULL, эта функция вычислит размер, необходимый для расшифрованных данных, и вернет размер в расположении, на который указывает параметр pcbResult .
[in] cbOutput
Размер буфера pbOutput (в байтах). Этот параметр игнорируется, если параметр pbOutput имеет значение NULL.
[out] pcbResult
Указатель на переменную DWORD , которая получает количество байтов, скопированных в буфер pbOutput . Если pbOutput имеет значение NULL, он получает размер в байтах, необходимый для расшифрованных данных.
[in] dwFlags
Флаги, изменяющие поведение функции. Допустимый набор флагов зависит от типа ключа, указанного параметром hKey .
Если ключ является асимметричным, это может быть одно из следующих значений.
| Значение | Значение |
|---|---|
|
При шифровании данных не использовалось заполнение. Параметр pPaddingInfo не используется. |
|
При шифровании данных использовалась схема оптимального асимметричного шифрования (OAEP). Параметр pPaddingInfo является указателем на структуру BCRYPT_OAEP_PADDING_INFO . |
|
Данные были заполнены случайным числом для округления размера блока при шифровании данных. Параметр pPaddingInfo не используется. |
Следующее значение можно использовать для любого ключа.
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
| Код возврата | Описание |
|---|---|
|
Функция выполнена успешно. |
|
Параметр dwFlags содержит недопустимое значение. |
|
Размер, заданный параметром cbOutput , недостаточно велик для хранения расшифрованных данных. |
|
Недопустимый параметр hKey . |
|
Один или несколько параметров недопустимы. |
|
Ключ, определенный параметром hKey, не может использоваться для расшифровки. |
Комментарии
Параметры pbInput и pbOutput могут указывать на один и тот же буфер. В этом случае эта функция выполнит расшифровку на месте.
Служба не должна вызывать эту функцию из функции StartService. Если служба вызывает эту функцию из функции StartService, может возникнуть взаимоблокировка, и служба может перестать отвечать.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | ncrypt.h |
| Библиотека | Ncrypt.lib |
| DLL | Ncrypt.dll |