mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-16 23:07:00 +00:00
test: use a non system PCR for testing PCR extend
We currently use PCR 0 for testing the PCR read/extend functionality in our selftests. How ever those PCRs are defined by the TCG spec for platform use. For example if the tests run *after* the efi subsystem initialization, which extends PCRs 0 & 7 it will give a false positive. So let's switch over to a PCR which is more suitable and is defined for OS use. It's worth noting that we are using PCR10 here, since PCR9 is used internally by U-Boot if we choose to measure the loaded DTB Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
e9fc018a55
commit
539e2f7c10
1 changed files with 8 additions and 8 deletions
|
@ -239,7 +239,7 @@ def test_tpm2_dam_parameters(u_boot_console):
|
|||
def test_tpm2_pcr_read(u_boot_console):
|
||||
"""Execute a TPM2_PCR_Read command.
|
||||
|
||||
Perform a PCR read of the 0th PCR. Must be zero.
|
||||
Perform a PCR read of the 10th PCR. Must be zero.
|
||||
"""
|
||||
if is_sandbox(u_boot_console):
|
||||
tpm2_sandbox_init(u_boot_console)
|
||||
|
@ -247,7 +247,7 @@ def test_tpm2_pcr_read(u_boot_console):
|
|||
force_init(u_boot_console)
|
||||
ram = u_boot_utils.find_ram_base(u_boot_console)
|
||||
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 0 0x%x' % ram)
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 10 0x%x' % ram)
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
|
||||
|
@ -257,7 +257,7 @@ def test_tpm2_pcr_read(u_boot_console):
|
|||
updates = int(re.findall(r'\d+', str)[0])
|
||||
|
||||
# Check the output value
|
||||
assert 'PCR #0 content' in read_pcr
|
||||
assert 'PCR #10 content' in read_pcr
|
||||
assert '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' in read_pcr
|
||||
|
||||
@pytest.mark.buildconfigspec('cmd_tpm_v2')
|
||||
|
@ -275,19 +275,19 @@ def test_tpm2_pcr_extend(u_boot_console):
|
|||
force_init(u_boot_console)
|
||||
ram = u_boot_utils.find_ram_base(u_boot_console)
|
||||
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 0 0x%x' % (ram + 0x20))
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 10 0x%x' % (ram + 0x20))
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
str = re.findall(r'\d+ known updates', read_pcr)[0]
|
||||
updates = int(re.findall(r'\d+', str)[0])
|
||||
|
||||
u_boot_console.run_command('tpm2 pcr_extend 0 0x%x' % ram)
|
||||
u_boot_console.run_command('tpm2 pcr_extend 10 0x%x' % ram)
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
|
||||
# Read the value back into a different place so we can still use 'ram' as
|
||||
# our zero bytes
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 0 0x%x' % (ram + 0x20))
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 10 0x%x' % (ram + 0x20))
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
assert 'f5 a5 fd 42 d1 6a 20 30 27 98 ef 6e d3 09 97 9b' in read_pcr
|
||||
|
@ -297,11 +297,11 @@ def test_tpm2_pcr_extend(u_boot_console):
|
|||
new_updates = int(re.findall(r'\d+', str)[0])
|
||||
assert (updates + 1) == new_updates
|
||||
|
||||
u_boot_console.run_command('tpm2 pcr_extend 0 0x%x' % ram)
|
||||
u_boot_console.run_command('tpm2 pcr_extend 10 0x%x' % ram)
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 0 0x%x' % (ram + 0x20))
|
||||
read_pcr = u_boot_console.run_command('tpm2 pcr_read 10 0x%x' % (ram + 0x20))
|
||||
output = u_boot_console.run_command('echo $?')
|
||||
assert output.endswith('0')
|
||||
assert '7a 05 01 f5 95 7b df 9c b3 a8 ff 49 66 f0 22 65' in read_pcr
|
||||
|
|
Loading…
Add table
Reference in a new issue