Для удаленной аттестации с использованием TPM на стороне сервера мне нужна функция TPM2_MakeCredential. Обратите внимание, что эта функция реализована в доверенном платформенном модуле, но она немного отключена, поскольку она не зависит от какого-либо состояния доверенного платформенного модуля, она полностью не имеет состояния (в отличие от функции TPM2_ActivateCredential - для запуска на стороне клиента - что критически зависит от ключей TPM ). Согласно документации, это предусмотрено для удобства. Это нормально, но проблема в том, что на сервере нет (и не требуется) доверенного платформенного модуля. Но я все еще хочу использовать функцию TPM2_MakeCredential.
К сожалению, мне не удалось найти библиотечную реализацию этой функции. Microsoft предлагает полноценный эмулятор TPM2.0, с которым могут взаимодействовать библиотеки TPM.MSR. Это работает, но требует запуска и управления процессом симулятора, который устанавливает сокеты et c. которого я бы предпочел избежать. Мне интересно, есть ли чистая реализация C / C ++ / C# в виде библиотеки? Я работал с различными решениями, но эта функция не является тривиальной для повторной реализации, и также нетривиально извлечь из симулятора.