Click or drag to resize
TpmIdentifierAlgorithmGetIdentifiers Method
Generates a generic list of TpmIdentifier objects based on the system's TPM hardware.

Namespace: com.softwarekey.Client.Licensing
Assembly: PLUSManaged (in PLUSManaged.dll) Version: 5.25.4.0
Syntax
public override List<SystemIdentifier> GetIdentifiers()

Return Value

Type: ListSystemIdentifier
Returns a generic list containing zero or one TpmIdentifier objects: - Empty list: TPM is not available, disabled, or key extraction failed - One identifier: TPM public key was successfully extracted
Exceptions
ExceptionCondition
Exception This method does not throw exceptions. Any errors during TPM operations result in an empty list being returned. This design ensures that TPM unavailability does not prevent the application from functioning.
Remarks

This method performs the following operations: 1. Initializes the TPM service and loads TBS (TPM Base Services) functions 2. Detects TPM version (1.2 or 2.0) if available 3. Creates a TBS context for TPM communication 4. Extracts the endorsement key using appropriate commands for the TPM version 5. Returns the public key portion as a TpmIdentifier

The method handles various failure scenarios gracefully: - Systems without TPM hardware - TPM disabled in BIOS/UEFI - TPM locked or in use by other applications - Communication failures with the TPM

For security and privacy, only the hash of the TPM public key is stored in the identifier, not the raw key material. This is handled automatically by the base SystemIdentifier class.

Note Note

TPM operations may take several hundred milliseconds to complete due to: - Hardware communication latency - Cryptographic operations within the TPM - TBS service coordination with other applications

Consider caching the result if calling this method frequently.

See Also