fix(tpm): correctly write the log name, and change the sprout configuration event name

This commit is contained in:
2025-10-31 02:45:15 -04:00
parent afc650f944
commit b3424fcd8f
2 changed files with 9 additions and 6 deletions

View File

@@ -24,7 +24,11 @@ fn load_raw_config(options: &SproutOptions) -> Result<Vec<u8>> {
.context("unable to read sprout config file")?;
// Measure the sprout.toml into the TPM, if needed and possible.
PlatformTpm::log_event(PlatformTpm::PCR_BOOT_LOADER_CONFIG, &content, "sprout.toml")
PlatformTpm::log_event(
PlatformTpm::PCR_BOOT_LOADER_CONFIG,
&content,
"sprout: configuration file",
)
.context("unable to measure the sprout.toml file into the TPM")?;
// Return the contents of the sprout config file.

View File

@@ -1,5 +1,6 @@
use crate::utils;
use anyhow::{Context, Result};
use uefi::ResultExt;
use uefi::boot::ScopedProtocol;
use uefi::proto::tcg::PcrIndex;
use uefi::proto::tcg::v2::{PcrEventInputs, Tcg};
@@ -110,13 +111,11 @@ impl PlatformTpm {
};
// Encode the description as a UTF-16 little endian string.
let description = description
.encode_utf16()
.flat_map(|c| c.to_le_bytes())
.collect::<Vec<u8>>();
let description = description.as_bytes().to_vec();
// Construct an event input for the TPM.
let event = PcrEventInputs::new_in_box(pcr_index, EventType::IPL, &description)
.discard_errdata()
.context("unable to construct pcr event inputs")?;
// Log the event into the TPM.