Я пытаюсь сохранить ключ в TPM, используя CNG NCryptOpenStorageProvide "MS_PLATFORM_CRYPTO_PROVIDER".
Пожалуйста, помогите, как использовать функции CNG для доступа к чтению и записи TPM.
Я пытаюсь сохранить ключ в TPM, используя CNG NCryptOpenStorageProvide "MS_PLATFORM_CRYPTO_PROVIDER".
Пожалуйста, помогите, как использовать функции CNG для доступа к чтению и записи TPM.
Предполагая, что под «сохранением ключа в TPM» вы подразумеваете «создание постоянного ключа в TPM»:
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);
Очевидно, вы должны проверить код возврата каждой вызванной функции.