| TpmIdentifierAlgorithmGetIdentifiers Method |
Namespace: com.softwarekey.Client.Licensing
| Exception | Condition |
|---|---|
| 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. |
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.
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. |