Сохранение данных в TMP с использованием CNG NCryptOpenStorageProvider в Windows - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь сохранить ключ в TPM, используя CNG NCryptOpenStorageProvide "MS_PLATFORM_CRYPTO_PROVIDER".

Пожалуйста, помогите, как использовать функции CNG для доступа к чтению и записи TPM.

1 Ответ

0 голосов
/ 16 февраля 2020

Предполагая, что «сохранить ключ в доверенном платформенном модуле», вы имеете в виду «создать постоянный ключ в доверенном платформенном модуле»:

NCRYPT_PROV_HANDLE hProv = NULL;
NCRYPT_KEY_HANDLE hKey = NULL;
PCWSTR keyName = L"MyKey";

NCryptOpenStorageProvider(
        &hProv,
        MS_PLATFORM_CRYPTO_PROVIDER,
        0);
NCryptCreatePersistedKey(
        hProv,
        &hKey,
        BCRYPT_RSA_ALGORITHM,
        keyName,
        0,
        NCRYPT_OVERWRITE_KEY_FLAG);
NCryptFinalizeKey(hKey, 0);

Очевидно, вы должны проверить код возврата каждой вызванной функции.

...