Microsoft.TSS
The TPM Software Stack from Microsoft Research Windows relies on the TPM for a number of its security functions. Examples include BitLockerâ„¢ drive encryption, the Windows Virtual Smart Card feature, the Platform Crypto Provider, etc. Windows also exposes low-level programmatic access to the TPM through an interface called TPM Base Services (TBS). Developers can use this interface together with TPM Software Stack (TSS) libraries to develop TPM-based applications. However, the new TPM 2.0 is not compatible with earlier TPM libraries. That is why we are providing new libraries, for C++ and .Net to allow developers to write TPM 2.0-based applications. The TSS simplifies writing Windows applications that use TPM 2.0. These libraries provide low-level access to the TPM, and handle many of the complex issues that arise when interacting with the TPM. The managed code libraries can be used on Windows 8+ systems by any managed application. The C++ lib also provides the same functionality for native code. These libraries are distributed in source code form and the package includes example applications that demonstrate the use of the libs and the underlying TPM. In addition to supporting access to a physical TPM, TSS.MSR libraries can also be connected to a TPM simulator to enable application development and debugging on platforms that do not have a TPM 2.0 device. See our GitHub repo for more details.
Install
dotnet add package Microsoft.TSS --version 1.0.3
Install-Package Microsoft.TSS -Version 1.0.3
<PackageReference Include="Microsoft.TSS" Version="1.0.3" />
Frameworks
No framework metadata available.
Dependencies
No declared dependencies.
Adoption guide
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.
No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.
How to read this guidance
Sources: published NuGet v3 registry metadata and explicit NuBrowse editorial guides. Refresh: package metadata is refreshed from NuGet when the page loads. Limit: this is not a security, legal or compatibility guarantee; validate the selected version in your project.
Useful next steps
Move from package metadata to a concrete selection or review workflow.