constellation/image/measured-boot/measure/pcr04_test.go

52 lines
1.1 KiB
Go

/*
Copyright (c) Edgeless Systems GmbH
SPDX-License-Identifier: AGPL-3.0-only
*/
package measure
import (
"bytes"
"testing"
"github.com/stretchr/testify/assert"
)
func TestPredictPCR4(t *testing.T) {
assert := assert.New(t)
sim := NewDefaultSimulator()
bootstages := []EFIBootStage{
{
Name: "stage0",
Digest: [32]byte{},
},
{
Name: "stage1",
Digest: [32]byte{
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
},
},
}
out := bytes.NewBuffer(nil)
assert.NoError(DescribeBootStages(out, bootstages))
assert.Equal("EFI Boot Stages:\n"+
" Stage 1 - stage0:\t0000000000000000000000000000000000000000000000000000000000000000\n"+
" Stage 2 - stage1:\t0101010101010101010101010101010101010101010101010101010101010101\n",
out.String())
assert.NoError(PredictPCR4(sim, bootstages))
assert.Equal(PCR256{
0x22, 0x11, 0x6d, 0xee, 0x86, 0x1a, 0xa6, 0xb4,
0x42, 0x42, 0xac, 0x46, 0x9e, 0xab, 0x24, 0xce,
0xad, 0x34, 0x4d, 0x52, 0xc7, 0x71, 0x31, 0xf5,
0x4a, 0xc1, 0xca, 0xc9, 0xd6, 0xa2, 0x40, 0x8e,
}, sim.Bank[4])
}