Сохранение данных в TPM с помощью CNG NCryptOpenStorageProvider в Windows

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

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


person ganesh bamane    schedule 10.02.2020    source источник


Ответы (1)


Предполагая, что под «сохранением ключа в 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);

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

person mnistic    schedule 15.02.2020