Существует ли ограничение на запись в пространство NV TPM 2.0 с использованием С#?C#

Место общения программистов C#
Ответить
Anonymous
 Существует ли ограничение на запись в пространство NV TPM 2.0 с использованием С#?

Сообщение Anonymous »

Пытался писать и читать свои собственные ключи из TPM (AES 256), используя C# с .NET 4.8
После начала тестирования моего кода я заметил, что определение пробела после нескольких ( в частности 5) успешная запись в исключении NvSpace.
Я хотел бы знать, есть ли какие-либо известные ограничения на запись пользователем в TPM.
соответствующий код (при условии, что у меня есть обработчик, представляющий свободное пространство)

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

public static void LoadKeyToTPM(byte[] key, uint nvIndexHandle)
{
Tpm2Device tpmDevice = new TbsDevice();
tpmDevice.Connect();
// Create a TPM context
Tpm2 tpm = new Tpm2(tpmDevice);
// Check if an available NV space handle was found
if (nvIndexHandle != 0)
{
// Define NV public area with the necessary attributes
NvPublic nvPublic = new NvPublic(
new TpmHandle(nvIndexHandle),       // NV Index handle
TpmAlgId.Sha256,                    // Name algorithm
NvAttr.Authwrite | NvAttr.Authread, // NV attributes
ComputeHMAC(secretKey),             // Authorization policy
512                                 // Data size
);

TpmHandle ownerAuth = new TpmHandle(TpmRh.Owner);

// Define the NV space, crushes here after 5 successful attemps
tpm.NvDefineSpace(ownerAuth, ComputeHMAC(secretKey), nvPublic);

// Write data to NV memory
WriteNV(tpm, nvIndexHandle, key, secretKey);
}
else
{
Console.WriteLine("No available NV space found.");
}
}
Решения, которые я пробовал:
  • Пиши в разных частях пространства NV (не в последовательных слотах)
    Решения, которые я пробовал:

    Пиши в разных частях пространства NV (не в последовательных слотах)
    Решения, которые я пробовал:

    Пишите в разных частях пространства NV (не в последовательных слотах)
    Решения, которые я пробовал:

    Пишите в разных частях пространства NV (не в последовательных слотах)
    Решения, которые я пробовал:

    Пишите в разных частях пространства NV (не в последовательных слотах)
    Решения, которые я пробовал:

    li>
    Напишите в разных сеансах, чтобы узнать, есть ли какое-то ограничение по времени.
  • Запишите один и тот же ключ снова и снова и даже случайную строку, чтобы убедиться, что проблема не в записываются данные.
  • Определяйте больше места, чем необходимо, при каждой попытке определения.
  • Проверка производителя на наличие некоторых типов ограничений на использование пространства или слота
    li>


Подробнее здесь: https://stackoverflow.com/questions/786 ... -0-using-c
Ответить

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

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

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

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

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