The default PCR bank for TPM2 is sha1, which is not always supported (it is legacy and optional for implementation). Make this more future-proof and use the first bank with non-empty set of PCRs, which is returned from TPM by tpm2_getcap pcrs. The swtpm by default does not create sha1 bank, so this fixes usage with swtpm. Reproducible: Always Steps to Reproduce: 1.Configure TPM2 bank without sha1 2.Try configuring clevis without specifying bank 3.Check error: # echo foo | clevis encrypt tpm2 '{"pcr_ids": "7"}' | clevis decrypt Unable to validate combination of PCR bank 'sha1' and PCR IDs '7'. Actual Results: # echo foo | clevis encrypt tpm2 '{"pcr_ids": "7"}' | clevis decrypt Unable to validate combination of PCR bank 'sha1' and PCR IDs '7'. Expected Results: Encryption/Decryption should be performed correctly independently of the bank: # echo foo | clevis encrypt tpm2 '{"pcr_ids": "7"}' | clevis decrypt foo
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.