What it is
The TPM PoC is a Docker Compose setup that boots a software TPM daemon and runs a smoke test suite against it. The smoke tests exercise every primitive TigerTrust uses during agent attestation — provisioning the endorsement key and attestation key, signing, PCR quoting, and Credential Activation — and report pass or fail for each check. A green result confirms the attestation path is fully functional in a controlled environment.When to use it
- Test TPM attestation code paths in a CI environment without provisioning TPM-enabled build runners.
- Validate the attestation flow end-to-end on a developer machine before deploying to hardware.
- Reproduce an attestation failure in a controllable environment for debugging.
- Confirm that a TPM key provisioning change does not break existing attestation flows.
Set it up
Prerequisites
You need Docker Engine 20.10 or later with the
docker compose v2 plugin. Approximately 200 MB of free disk space is required for the image. No kernel TPM device or headers are needed on the host.What you’ll see
The smoke test output reports each check individually:| Check | What it validates |
|---|---|
| EK and AK persistent handles | Both keys are provisioned at known handles |
| AK public export | The attestation key is exportable as PEM |
| EK public export | The endorsement key is exportable |
| AK signature verification | A signature created by the AK is verifiable |
| PCR quote | A SHA-256 PCR quote over registers 0-7 verifies against the AK |
| Credential Activation | The full make/activate round-trip recovers the correct secret |
ALL CHECKS PASSED banner at the end confirms the harness is healthy.
The software TPM’s state is stored in a named Docker volume. Running the init step multiple times is safe — it checks for existing handles before provisioning. To start from a completely clean TPM state, run
docker compose down -v to remove the volume, then start again.Related
TPM Attestation
How TigerTrust uses TPM attestation in production deployments.
TPM Enrollment
Enroll a device’s endorsement key against your workspace.
TPM Policies
PCR-gated issuance policies matched to attestation quotes.
Troubleshooting
Debug attestation failures step by step.