【问题标题】:Store Data in TPM using CNG NCryptOpenStorageProvider in Windows在 Windows 中使用 CNG NCryptOpenStorageProvider 在 TPM 中存储数据
【发布时间】:2020-02-10 10:21:56
【问题描述】:

我正在尝试使用 CNG NCryptOpenStorageProvide "MS_PLATFORM_CRYPTO_PROVIDER" 将密钥存储在 TPM 中。

请任何人帮助了解如何使用 CNG 功能访问 TPM 读写。

【问题讨论】:

    标签: c++ cng tpm


    【解决方案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);
    

    显然你应该检查每个调用函数的返回码。

    【讨论】:

      猜你喜欢
      • 2014-07-31
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      相关资源
      最近更新 更多