Click or drag to resize
TpmIdentifierAlgorithm Class
SystemIdentifierAlgorithm implementation for identifying a system based on its TPM (Trusted Platform Module) hardware.
Inheritance Hierarchy
SystemObject
  com.softwarekey.Client.LicensingSystemIdentifierAlgorithm
    com.softwarekey.Client.LicensingTpmIdentifierAlgorithm

Namespace: com.softwarekey.Client.Licensing
Assembly: PLUSManaged (in PLUSManaged.dll) Version: 5.25.4.0
Syntax
public class TpmIdentifierAlgorithm : SystemIdentifierAlgorithm

The TpmIdentifierAlgorithm type exposes the following members.

Constructors
  NameDescription
Public methodTpmIdentifierAlgorithm
Creates a new TpmIdentifierAlgorithm object.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetIdentifiers
Generates a generic list of TpmIdentifier objects based on the system's TPM hardware.
(Overrides SystemIdentifierAlgorithmGetIdentifiers.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a String that represents the current Object.
(Inherited from Object.)
Top
Fields
  NameDescription
Protected fieldm_algorithmId
Static member for tracking default identifiers generated
(Inherited from SystemIdentifierAlgorithm.)
Protected fieldStatic memberthisAlgorithmId
The name of this algorithm used for identification and logging.
Top
Remarks

The TpmIdentifierAlgorithm extracts the public endorsement key from the system's TPM hardware to create a unique, tamper-resistant system identifier.

TPM (Trusted Platform Module) is a dedicated security chip that provides hardware-based security features. The endorsement key (EK) is a unique cryptographic key that is burned into the TPM during manufacturing and cannot be changed, making it an excellent identifier for the hardware.

This algorithm supports both TPM 1.2 and TPM 2.0 specifications, automatically detecting and using the appropriate version available on the system. It gracefully handles systems without TPM hardware by returning an empty list of identifiers.

Important note Important

This System Identifier should not be used as the sole means of system identification as the presence of a TPM chip is not guaranteed on all systems. Always combine this algorithm with other System Identifier algorithms to ensure reliable identification.

Important note Important

TPM availability depends on several factors: - Hardware support: Not all computers have TPM chips - BIOS/UEFI settings: TPM may be disabled in firmware settings - Operating system: TPM services must be enabled in Windows - Virtualization: VM environments may not expose TPM to guests

Caution note Caution

In corporate environments, TPM chips are sometimes cleared or re-provisioned during system reimaging, which would change the endorsement key.

See Also