Функция NCryptFinalizeKey (ncrypt.h)

Функция NCryptFinalizeKey завершает ключ хранилища ключей CNG. Ключ нельзя использовать, пока не будет вызвана эта функция.

Синтаксис

SECURITY_STATUS NCryptFinalizeKey(
  [in] NCRYPT_KEY_HANDLE hKey,
  [in] DWORD             dwFlags
);

Параметры

[in] hKey

Дескриптор ключа для завершения. Этот дескриптор получается путем вызова функции NCryptCreatePersistedKey .

[in] dwFlags

Флаги, изменяющие поведение функции. Это может быть ноль или сочетание одного или нескольких из следующих значений.

Значение Значение
NCRYPT_NO_KEY_VALIDATION
Не проверяйте открытую часть пары ключей. Этот флаг применяется только к парам открытых и закрытых ключей.
NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG
Кроме того, сохраните ключ в хранилище прежних версий. Это позволяет использовать ключ с CryptoAPI. Этот флаг применяется только к ключам RSA.
NCRYPT_SILENT_FLAG
Запрашивает, чтобы поставщик служб ключей (KSP) не отображал пользовательский интерфейс. Если поставщик должен отображать пользовательский интерфейс для работы, вызов завершается сбоем, а KSP должен задать код ошибки NTE_SILENT_CONTEXT как последнюю ошибку.

Возвращаемое значение

Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.

Возможные коды возврата включают, помимо прочего, следующие.

Код возврата Описание
ERROR_SUCCESS
Функция выполнена успешно.
NTE_BAD_FLAGS
Параметр dwFlags содержит недопустимое значение.
NTE_INVALID_HANDLE
Недопустимый параметр hKey .

Комментарии

Служба не должна вызывать эту функцию из функции StartService. Если служба вызывает эту функцию из функции StartService, может возникнуть взаимоблокировка, и служба может перестать отвечать.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header ncrypt.h
Библиотека Ncrypt.lib
DLL Ncrypt.dll