Issue #421 has been updated by Julius Werner.
I think we might as well implement agile format properly (no fixed-size buffers in structures, any number of algorithms) right away.
You are implementing the format properly (the format defines how the TCPA log is supposed to look in memory, not what kind of APIs the code that writes it internally need to provide). You are just not implementing all possible ways for coreboot to fill it out.
I still feel strongly that we shouldn't overcomplicate APIs and increase maintenance burden by implementing options that nobody has a use case for right now and likely never will. https://en.wikipedia.org/wiki/YAGNI
---------------------------------------- Cleanup #421: Change API of functions taking hash as an argument https://ticket.coreboot.org/issues/421#change-1207
* Author: Krystian Hebel * Status: New * Priority: Normal * Target version: none * Start date: 2022-10-12 ---------------------------------------- All existing functions that take a digest as an input assume that only one hashing algorithm is used at a time. Crypto agile format entry can (and should) log every used PCR bank in one entry for a given measurement. To make it work, some of the arguments must be changed, e.g.:
- pass number of algorithms used; - instead of algorithm ID, pass a pointer to array of such IDs, with size equal to above; - instead of hash, pass a pointer to array of hashes, with size and order as above.