Click or drag to resize
TpmIdentifier Class
SystemIdentifier implementation for a Trusted Platform Module (TPM) public key. These identifiers are generated by TpmIdentifierAlgorithm.
Inheritance Hierarchy
SystemObject
  com.softwarekey.Client.LicensingSystemIdentifier
    com.softwarekey.Client.LicensingTpmIdentifier

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

The TpmIdentifier type exposes the following members.

Constructors
  NameDescription
Public methodTpmIdentifier
Creates a new TpmIdentifier object with an auto-generated name.
Public methodTpmIdentifier(String)
Creates a new TpmIdentifier object, initialized with the TPM public key value.
Public methodTpmIdentifier(String, String)
Creates a new TpmIdentifier object, initialized with a specific name and TPM public key value.
Public methodTpmIdentifier(String, String, String)
Creates a new TpmIdentifier object, initialized with the name, value, and pre-computed hash.
Top
Properties
  NameDescription
Public propertyName
Gets or sets the name of the system identifier.
(Inherited from SystemIdentifier.)
Public propertyType
Gets this system identifier's type ("TpmIdentifier").
(Overrides SystemIdentifierType.)
Public propertyValue
Gets or sets the plain-text value of the system identifier.
(Inherited from SystemIdentifier.)
Public propertyValueHash
Gets or sets the SHA-512 hash generated from the Value.
(Inherited from SystemIdentifier.)
Top
Methods
  NameDescription
Public methodEquals
Compares two SystemIdentifier objects to see if they identify a the same component.
(Inherited from SystemIdentifier.)
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 SystemIdentifier.)
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 methodToActivationDataString
Generates an XML formatted string of the system identifier, formatted for SOLO Server's XmlActivationService web service.
(Inherited from SystemIdentifier.)
Public methodToString
Generates an XML formatted string of the SystemIdentifier.
(Inherited from SystemIdentifier.)
Public methodToXml
Generates an XmlDocument of the SystemIdentifier.
(Inherited from SystemIdentifier.)
Top
Fields
  NameDescription
Protected fieldm_name
The unique identifier name
(Inherited from SystemIdentifier.)
Protected fieldStatic memberm_tpmIdentifierId
The static member for tracking default identifiers generated. This ensures each TpmIdentifier gets a unique default name if not specified.
Protected fieldm_type
The type of identifier
(Inherited from SystemIdentifier.)
Protected fieldm_value
The identifier value
(Inherited from SystemIdentifier.)
Protected fieldm_valueHash
The hash of the identifier value
(Inherited from SystemIdentifier.)
Top
Remarks

The TpmIdentifier uses the public endorsement key from the system's TPM hardware as a unique identifier. This provides a highly secure, tamper-resistant hardware identifier that cannot be easily changed or spoofed.

TPM (Trusted Platform Module) is a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The endorsement key is a unique RSA key pair that is burned into the TPM chip during manufacturing and cannot be changed. This makes it an excellent choice for system identification.

This identifier supports both TPM 1.2 and TPM 2.0 specifications, automatically detecting and using the appropriate version available on the system.

Important note Important

TPM availability varies by system. Not all computers have TPM hardware, and even when present, it may be disabled in BIOS/UEFI settings. The algorithm will return an empty list of identifiers when TPM is not available.

Caution note Caution

Some virtualization environments may not expose TPM hardware to guest operating systems, or may provide virtualized TPM instances that could change between VM migrations.

See Also