Функция NCryptSecretAgreement (ncrypt.h)
Функция NCryptSecretAgreement создает значение соглашения секрета из закрытого и открытого ключей.
Синтаксис
SECURITY_STATUS NCryptSecretAgreement(
[in] NCRYPT_KEY_HANDLE hPrivKey,
[in] NCRYPT_KEY_HANDLE hPubKey,
[out] NCRYPT_SECRET_HANDLE *phAgreedSecret,
[in] DWORD dwFlags
);
Параметры
[in] hPrivKey
Дескриптор закрытого ключа , используемого для создания значения секретного соглашения. Этот ключ и ключ hPubKey должны поступать от одного поставщика хранилища ключей.
[in] hPubKey
Дескриптор открытого ключа , используемый для создания значения секретного соглашения. Этот ключ и ключ hPrivKey должны поступать от одного поставщика хранилища ключей.
[out] phAgreedSecret
Указатель на переменную NCRYPT_SECRET_HANDLE , которая получает дескриптор, представляющий значение соглашения секрета. Если этот дескриптор больше не нужен, отпустите его, передав его в функцию NCryptFreeObject .
[in] dwFlags
Флаги, изменяющие поведение функции. Это может быть ноль или сочетание одного или нескольких из следующих значений. Набор допустимых флагов зависит от каждого поставщика хранилища ключей. Следующий флаг применяется ко всем поставщикам.
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Недопустимый параметр hPrivKey или hPubKey . |
|
Один или несколько параметров являются недопустимыми. |
|
Произошел сбой выделения памяти. |
Комментарии
Служба не должна вызывать эту функцию из функции StartService. Если служба вызывает эту функцию из функции StartService, может возникнуть взаимоблокировка, и служба может перестать отвечать на запросы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | ncrypt.h |
Библиотека | Ncrypt.lib |
DLL | Ncrypt.dll |