#c# #security #tpm
#c# #Безопасность #tpm
Вопрос:
Я бесконечно искал в Интернете ответ на этот вопрос, но, к сожалению, нигде не могу его найти.
Я пытаюсь запустить эквивалент этой команды PowerShell на C #, но без необходимости импортировать библиотеки PowerShell в свой код:
Get-TpmEndorsementKeyInfo -алгоритм хэширования sha256
По сути, все, к чему я пытаюсь добраться, — это представление SHA256 моего EK TPM. Если возможно, я также хотел бы получить отпечаток того же самого, который выдает команда PowerShell при ее запуске.
Я пробовал работать с Limpet (https://github.com/ms-iot/security/tree/master/Limpet/Limpet.NET ) но безрезультатно.
Зачем мне это нужно? Я пытаюсь использовать TPM в качестве механизма для доказательства уникальности ПК, затем я мог бы использовать этот хэш, который является уникальным для устройства TPM этого компьютера, для выполнения других функций, включая, возможно, лицензирование. В любом случае, я пытаюсь сделать это на C #.
В идеале я также нахожу способ подписывать сообщения с помощью C # и TPM, но я буду продолжать искать это.
Какие-нибудь подсказки?
Комментарии:
1. Вы также не хотите просто вызывать Powershell как отдельный процесс и считывать выходные данные (через C #)?
2. @CamiloTerevinto Спасибо за это предложение! Проблема в том, что, к сожалению, как только я начинаю вызывать PowerShell либо через автономный процесс, либо путем импорта библиотеки PowerShell, мой AV каждый раз выдает ложное срабатывание. Я хочу избежать этого, если это возможно, но вы абсолютно правы, это вариант.
Ответ №1:
Я знаю, что класс определен в сборке, которая находится в Azure SDK, но вы могли бы взглянуть на класс SecurityProviderTpmHsm, который определен в Microsoft.Azure.Устройства.Подготовка.Безопасность.Пакет Tpm.
Комментарии:
1. Это. Спасибо! Спас мой день 🙂