Функция CryptDecryptKey (wincrypt.h)
Если дескриптор ссылается на сеансовый ключ или открытый ключ, импортированный в поставщик служб шифрования (CSP) через CryptImportKey, эта функция уничтожает ключ и освобождает память, используемую ключом. Многие поставщики служб конфигурации перезаписывают память, в которой находился ключ, перед освобождением. Однако базовая пара открытого и закрытого ключей не уничтожается этой функцией. Уничтожается только дескриптор.
Синтаксис
BOOL CryptDestroyKey(
[in] HCRYPTKEY hKey
);
Параметры
[in] hKey
Дескриптор ключа, который требуется уничтожить.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Коды ошибок, предваряемые "NTE", создаются конкретным поставщиком служб конфигурации. В следующей таблице перечислены некоторые возможные коды ошибок.
Код возврата | Описание |
---|---|
|
Объект ключа, указанный в hKey , в настоящее время используется и не может быть уничтожен. |
|
Параметр hKey указывает недопустимый дескриптор. |
|
Параметр hKey содержит недопустимое значение. |
|
Параметр hKey не содержит допустимый дескриптор ключа. |
|
Не удается найти контекст CSP, указанный при создании ключа. |
Комментарии
Ключи занимают как пространство памяти операционной системы, так и пространство памяти CSP. Некоторые поставщики служб конфигурации реализуются на оборудовании с ограниченными ресурсами памяти. Приложения должны уничтожить все ключи с помощью функции CryptDefinishedKey после завершения работы с ними.
Все дескрипторы ключей, созданные или импортированные с помощью определенного CSP, должны быть уничтожены, прежде чем этот дескриптор CSP будет освобожден с помощью функции CryptReleaseContext .
Примеры
Пример использования функции CryptDetraitsKey см. в разделе Пример программы C: создание и хэширование ключа сеанса.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |