mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-10-01 01:36:09 -04:00
62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
/*
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
package measure
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/edgelesssys/constellation/v2/image/measured-boot/pesection"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestPredictPCR11(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
sim := NewDefaultSimulator()
|
|
|
|
peSections := []pesection.PESection{
|
|
{
|
|
Name: ".text",
|
|
Size: 100,
|
|
Digest: [32]byte{},
|
|
},
|
|
{
|
|
Name: ".linux",
|
|
Size: 100,
|
|
Digest: [32]byte{},
|
|
Measure: true,
|
|
},
|
|
{
|
|
Name: ".initrd",
|
|
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,
|
|
},
|
|
Measure: true,
|
|
},
|
|
}
|
|
|
|
out := bytes.NewBuffer(nil)
|
|
assert.NoError(DescribeUKISections(out, peSections))
|
|
assert.Equal("UKI sections:\n"+
|
|
" Section 1 - .text :\tnot measured\n"+
|
|
" Section 2 - .linux ( 100 bytes):\t0da293e37ad5511c59be47993769aacb91b243f7d010288e118dc90e95aaef5a, 0000000000000000000000000000000000000000000000000000000000000000\n"+
|
|
" Section 3 - .initrd ( 0 bytes):\t15ee37e75f1e8d42080e91fdbbd2560780918c81fe3687ae6d15c472bbdaac75, 0101010101010101010101010101010101010101010101010101010101010101\n",
|
|
out.String())
|
|
|
|
assert.NoError(PredictPCR11(sim, peSections))
|
|
assert.Equal(PCR256{
|
|
0x9d, 0xfe, 0x39, 0x9f, 0xcd, 0x44, 0x32, 0x63,
|
|
0x9f, 0x0e, 0x20, 0xf4, 0x9d, 0xf8, 0x23, 0xaa,
|
|
0x66, 0xb0, 0x95, 0xf0, 0x66, 0x4f, 0x0a, 0x4b,
|
|
0x9f, 0xbd, 0xc1, 0x1e, 0xa6, 0x46, 0x83, 0xe2,
|
|
}, sim.Bank[11])
|
|
}
|