- Windows Hello for Business keys (PIN-protected user authentication keys)
- Transport keys used during token acquisition
- Device certificate keys
- Confidential client credentials (client secrets and certificates used for delegated Graph API queries)
hsm_type
Controls which HSM backend Himmelblau uses.| Value | Behavior |
|---|---|
tpm_bound_soft_if_possible (default) | Uses a software HSM that encrypts key material locally. If a TPM is available, the HSM’s parent AuthCode is bound to it. |
tpm | Uses a hardware TPM exclusively. Fails if no TPM is present. |
tpm_if_possible | Attempts to use a hardware TPM; falls back to software HSM if none is available. If the TPM was previously used for key storage, the system will not fall back. |
The legacy
soft value is deprecated. Existing enrollments using soft are automatically migrated to tpm_bound_soft_if_possible.For production deployments,
tpm or tpm_bound_soft_if_possible with a real TPM is strongly recommended. SoftHSM (the software fallback) is acceptable for testing and development but provides no hardware-backed key protection.hsm_pin_path
The path where the HSM PIN is stored. This PIN protects the HSM key material./var/lib/himmelblaud/hsm-pin. The path can be overridden with the HIMMELBLAU_HSM_PIN_PATH environment variable.
tpm_tcti_name
Specifies the TCTI (Trusted Computing Technology Interface) string used to communicate with the TPM. Only relevant whenhsm_type is tpm or tpm_if_possible.
device:/dev/tpmrm0 (the kernel TPM resource manager, recommended for most Linux systems). Use device:/dev/tpm0 for direct device access, or consult your TPM driver documentation for other TCTI strings.
Checking TPM status
To confirm whether Himmelblau is using the hardware TPM:Confidential client credentials
Confidential client credentials allow Himmelblau to query Entra ID for user and group attributes (such as RFC2307 UIDs/GIDs and group memberships) on behalf of the device, without requiring a user to be interactively signed in. All credentials are stored in the HSM.Certificate-based authentication
Generate an HSM-backed RSA key pair and a self-signed certificate, then upload the certificate to your Entra ID app registration:--cert-out path and re-upload the certificate.
