Функция NCryptTranslateHandle (ncrypt.h)
Функция NCryptTranslateHandle преобразует дескриптор CryptoAPI в дескриптор ключа CNG.
Синтаксис
SECURITY_STATUS NCryptTranslateHandle(
[out, optional] NCRYPT_PROV_HANDLE *phProvider,
[out] NCRYPT_KEY_HANDLE *phKey,
[in] HCRYPTPROV hLegacyProv,
[in, optional] HCRYPTKEY hLegacyKey,
[in, optional] DWORD dwLegacyKeySpec,
[in] DWORD dwFlags
);
Параметры
[out, optional] phProvider
Указатель на переменную NCRYPT_PROV_HANDLE , которая получает дескриптор поставщика хранилища ключей CNG, которому принадлежит ключ CNG, помещенный в параметр phKey . Этот параметр может иметь значение NULL , если этот дескриптор не требуется.
[out] phKey
Указатель на переменную NCRYPT_KEY_HANDLE , получающую дескриптор ключа CNG.
[in] hLegacyProv
Дескриптор поставщика CryptoAPI, содержащий ключ для преобразования. Эта функция преобразует ключ CryptoAPI, который находится в контейнере в этом поставщике.
[in, optional] hLegacyKey
Дескриптор ключа CryptoAPI, используемый для определения спецификации ключа для возвращаемого ключа. Этот параметр игнорируется, если параметр dwLegacyKeySpec содержит значение, отличное от нуля.
Если hLegacyKey имеет значение NULL , а dwLegacyKeySpec равно нулю, эта функция попытается определить спецификацию ключа из дескриптора hLegacyProv .
[in, optional] dwLegacyKeySpec
Задает спецификацию ключа для ключа. Это может быть одно из следующих значений.
Значение | Значение |
---|---|
|
Ключ не является ни одним из указанных ниже типов. |
|
Ключ является ключом обмена ключами. |
|
Ключ является ключом подписи. |
Если hLegacyKey имеет значение NULL , а dwLegacyKeySpec равно нулю, эта функция попытается определить спецификацию ключа из дескриптора hLegacyProv .
[in] dwFlags
Набор флагов, которые изменяют поведение этой функции. Для этой функции не определены флаги.
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Параметр dwFlags содержит недопустимое значение. |
|
Один или несколько параметров недопустимы. |
|
Произошел сбой выделения памяти. |
Комментарии
Это вспомогающая функция, предназначенная для помощи приложениям и системным компонентам, которые в настоящее время используют CryptoAPI, для корректного перехода на использование CNG.
Эта функция будет успешной, только если поставщик хранилища ключей CNG зарегистрирован с именем или псевдонимом, идентичным имени поставщика служб шифрования (CSP), на который ссылается параметр hLegacyProv .
Эта функция выполняет следующие действия для преобразования дескриптора CSP в дескриптор ключа CNG:
- Получите имя CSP из дескриптора hLegacyProv .
- Откройте поставщик CNG, имя или псевдоним которого идентично имени CSP.
- Получите имя текущего контейнера ключей в CSP.
- Получите ключ CryptoAPI, преобразуйте его в ключ CNG и верните его в параметре phKey .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | ncrypt.h |
Библиотека | Ncrypt.lib |
DLL | Ncrypt.dll |