NCryptSetProperty возвращает ошибку 0x80090026 при получении ключей сеанса с помощью NCryptDeriveKeyC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 NCryptSetProperty возвращает ошибку 0x80090026 при получении ключей сеанса с помощью NCryptDeriveKey

Сообщение Anonymous »

Я пытаюсь использовать NCryptDeriveKey для получения ключей шифрования сеанса и аутентификации с помощью HKDF. Я могу сгенерировать эфемерную пару ключей NCryptCreatePersistedKey и вернуть дескриптор ключа и открытый ключ.
В другой функции для получения сеансовых ключей я сначала импортирую ключи с помощью NCryptImportKey и создаю секретное соглашение NCryptSecretAgreement. Далее я использую NCryptSetProperty для установки значений хеш-функции и соли, а затем использую NCryptDeriveKey для получения ключей сеанса. Но NCryptSetProperty возвращает ошибку. Ошибка NCryptSetProperty: 0x80090026
Вот блок кода, который я использую:

Код: Выделить всё

int deriveSessionKeys(uint64_t pub_key_handle, const uint8_t *peer_pub_key,
SessionKeys *keys_out) {

NCryptProvider provider;
NCRYPT_SECRET_HANDLE hSharedSecret = NULL;
NCRYPT_KEY_HANDLE hPubKeyHandle = NULL;
SECURITY_STATUS status;

try {
// Step 1: Import public key
hPubKeyHandle = importEphemeralPublicKey(provider.handle, peer_pub_key);

// Step 2: Create secret agreement
status = NCryptSecretAgreement((NCRYPT_KEY_HANDLE)pub_key_handle, hPubKeyHandle,
&hSharedSecret, 0);

if (status != ERROR_SUCCESS) {
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/79886589/ncryptsetproperty-returns-error-0x80090026-while-deriving-session-keys-using-ncr[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»