Skip to content

Commit

Permalink
Fix signature (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
Itxaka authored Jun 24, 2024
1 parent ed56a20 commit 2464e25
Show file tree
Hide file tree
Showing 12 changed files with 227 additions and 75 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/kairos-io/go-ukify
go 1.22.1

require (
github.com/foxboron/go-uefi v0.0.0-20240128152106-48be911532c2
github.com/foxboron/go-uefi v0.0.0-20240522180132-205d5597883a
github.com/google/go-tpm v0.9.1
github.com/onsi/ginkgo/v2 v2.19.0
github.com/onsi/gomega v1.33.1
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/foxboron/go-uefi v0.0.0-20240128152106-48be911532c2 h1:qGlg/7H49H30Eu7nkCBA7YxNmW30ephqBf7xIxlAGuQ=
github.com/foxboron/go-uefi v0.0.0-20240128152106-48be911532c2/go.mod h1:ffg/fkDeOYicEQLoO2yFFGt00KUTYVXI+rfnc8il6vQ=
github.com/foxboron/go-uefi v0.0.0-20240522180132-205d5597883a h1:Q/VIO3QAlaF95JqVVF39udInPR76lu02yrMDInavm8Q=
github.com/foxboron/go-uefi v0.0.0-20240522180132-205d5597883a/go.mod h1:ffg/fkDeOYicEQLoO2yFFGt00KUTYVXI+rfnc8il6vQ=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
Expand Down
14 changes: 7 additions & 7 deletions pkg/measure/measure.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import (
type SectionsData map[constants.Section]string

// GenerateSignedPCR generates the PCR signed data for a given set of UKI file sections.
func GenerateSignedPCR(sectionsData SectionsData, phases []types.PhaseInfo, rsaKey types.RSAKey, PCR int, logger *slog.Logger) (*types.PCRData, error) {
func GenerateSignedPCR(sectionsData SectionsData, phases []types.PhaseInfo, rsaKey types.RSAKey, PCR int) (*types.PCRData, error) {
data := &types.PCRData{}
logger.Debug("Generating PCR data", "sections", sectionsData)
slog.Debug("Generating PCR data", "sections", sectionsData)

data, algos := types.GetTPMALGorithm()
for _, alg := range algos {
Expand All @@ -48,18 +48,18 @@ func GenerateSignedPCR(sectionsData SectionsData, phases []types.PhaseInfo, rsaK
}

// GenerateMeasurements generates the PCR measurements for a given set of UKI file sections and phases
func GenerateMeasurements(sectionsData SectionsData, phases []types.PhaseInfo, PCR int, logger *slog.Logger) {
logger.Debug("Generating PCR data", "sections", sectionsData)
logger.Info("Not signing data, just outputting it to stdout")
logger.Info("legend: <PHASE:PCR:ALGORITHM=HASH>")
func GenerateMeasurements(sectionsData SectionsData, phases []types.PhaseInfo, PCR int) {
slog.Debug("Generating PCR data", "sections", sectionsData)
slog.Info("Not signing data, just outputting it to stdout")
slog.Info("legend: <PHASE:PCR:ALGORITHM=HASH>")

_, algos := types.GetTPMALGorithm()
for _, alg := range algos {
hash, _ := pcr.MeasureSections(alg.Alg, sectionsData)
for _, phase := range phases {
pcr.MeasurePhase(phase, alg.Alg, hash)
al, _ := alg.Alg.Hash()
logger.Info(fmt.Sprintf("%s:%d:%s=%s", phase.Phase, PCR, al.String(), hex.EncodeToString(hash.Hash())))
slog.Info(fmt.Sprintf("%s:%d:%s=%s", phase.Phase, PCR, al.String(), hex.EncodeToString(hash.Hash())))
}

}
Expand Down
16 changes: 7 additions & 9 deletions pkg/pesign/pesign.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,11 @@ import (
"errors"
"fmt"
"io"
"log"
"log/slog"
"os"

"github.com/foxboron/go-uefi/efi"
"github.com/kairos-io/go-ukify/pkg/types"
"github.com/kairos-io/go-ukify/pkg/utils"
)

// Signer sigs PE (portable executable) files.
Expand All @@ -40,21 +39,20 @@ func NewSigner(provider CertificateSigner) (*Signer, error) {
}

// Sign signs the input file and writes the output to the output file.
func (s *Signer) Sign(input, output string, logger *slog.Logger) error {
logger.Debug("Signing file", "input", input, "output", output)
func (s *Signer) Sign(input, output string) error {
slog.Debug("Signing file", "input", input, "output", output)
unsigned, err := os.ReadFile(input)
if err != nil {
log.Fatalf("Failed to open %s", input)
slog.Error(fmt.Sprintf("Failed to open %s", input))
return err
}

signed, err := efi.SignEFIExecutable(s.provider.Signer(), s.provider.Certificate(), unsigned)
signed, err := utils.SignEFIExecutable(s.provider.Signer(), s.provider.Certificate(), unsigned)
if err != nil {
log.Fatalf("Failed to open %s", input)
slog.Error(fmt.Sprintf("Failed to open %s", input))
return err
}

return os.WriteFile(output, signed, 0o600)
return os.WriteFile(output, signed, 0o777)
}

// Verify interface.
Expand Down
70 changes: 70 additions & 0 deletions pkg/pesign/pesign_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package pesign

import (
"github.com/foxboron/go-uefi/authenticode"
"github.com/foxboron/go-uefi/pkcs7"
"os"
"path/filepath"
"testing"

. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)

func TestSuite(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Pesign test Suite")
}

var _ = Describe("Pesign tests", func() {
var sbSigner *Signer
var tmpDir string

BeforeEach(func() {
sb, err := NewSecureBootSigner("testdata/sb.pem", "testdata/sb.key")
Expect(err).ToNot(HaveOccurred())

sbSigner, err = NewSigner(sb)
Expect(err).ToNot(HaveOccurred())

tmpDir, err = os.MkdirTemp("", "pesign")
Expect(err).ToNot(HaveOccurred())
})

AfterEach(func() {
Expect(os.RemoveAll(tmpDir)).ToNot(HaveOccurred())
})
Describe("Signs correctly a PE file", func() {
It("Signs correctly a file", func() {
// Check first that the base input has no signatures
f1, err := os.Open("testdata/file.efi")
Expect(err).ToNot(HaveOccurred())
binary, err := authenticode.Parse(f1)
defer f1.Close()
signatures, err := binary.Signatures()
Expect(err).ToNot(HaveOccurred())
Expect(signatures).To(HaveLen(0))

// Now we can continue signing and checking if the final file is signed
err = sbSigner.Sign("testdata/file.efi", filepath.Join(tmpDir, "file.signed.efi"))
Expect(err).ToNot(HaveOccurred())
f2, err := os.Open(filepath.Join(tmpDir, "file.signed.efi"))
Expect(err).ToNot(HaveOccurred())
defer f2.Close()
binary, err = authenticode.Parse(f2)
Expect(err).ToNot(HaveOccurred())
signatures, err = binary.Signatures()
Expect(err).ToNot(HaveOccurred())
Expect(signatures).To(HaveLen(1))
for _, signature := range signatures {
parsedPKCS7, err := pkcs7.ParsePKCS7(signature.Certificate)
Expect(err).ToNot(HaveOccurred())
// Expect the signatures in the signed file to match our key/cert issuer
Expect(parsedPKCS7.Certs[0].Issuer.CommonName).To(Equal("Kairos DB"))
Expect(parsedPKCS7.Certs[0].Subject.CommonName).To(Equal("Kairos DB"))
}

})

})
})
Binary file added pkg/pesign/testdata/file.efi
Binary file not shown.
28 changes: 28 additions & 0 deletions pkg/pesign/testdata/sb.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDvKJh6Or+sDfeE
XHgPamDylsJ9kWkDavUIaAmlo7DR6Zib2l7o+YeF9P6aJ9dRqjeYL2GO0H5wP8tA
2W7qBHjHpQyzdzr6L7LU8yV2w78Xa9LSY3Pvn0ERrCI7jHRuimv6g8lK+mQ/lRSN
i8nwJ3mrk43isER4JP13wT2cb24fddChA8C/Oj16GGfMACYdLfmLaFKXqtQyDCnp
LbgIpwZvCXWk2+hTnbxbTGvWFg5rNtr/6tlC24aqxxRhQBs4sTWE6n9RYaaz+bR7
NMGxWRDVHJCfpxYaspWlPNpo37V7lqLFjJdz39DNjlGp3iqKxObBgGwd15WFeneK
EmRadPOvAgMBAAECggEAAcwXzT9YxmW6ePOq8U622MvaPVBU7jIlEkGZ5PVEdGdh
frZW5UBOzOpo6WaoPxRc45djj8uwT46jK+MWasrKz5FFdanNNykZmnETVH+nFXl5
dZxKuD/FoOjevvzQuS3wHstTvW0BSNsJcwDcbSIWz3vF4rC5av+4Kei5Wk4aEUFx
Ll/mwtDNbkXPRK1xXWg8Z69BwPIxIo9CESNkwRAQZr/1btBUXaMpHjmF8c76vj8z
ayD9gsDLGNYnU11cVbdlREi0J5CIVyPbBFuOoU27U9scTBJfrRBCCRLe19N6B0cQ
LEoLCdaG4CJz3kGX2ErBRWBu2w7qHZd3rD0JdE9KfQKBgQD3vHlT34+MFVG/4+z2
8kfThHA/EfseK7KDy5FUGMomFXVlR5+6UbWmWcbjN9wl/iB+FfkYYSbX+gS0gYuq
hwlecIIM+sbPly0xjVvTXf8iihzaZsRx+fCfctHi087ZvbhCHXgYHRSBZ1u0dKoA
y4rnpeWP0I9ZGBvNznah2baCrQKBgQD3It+Z+7Pr1O1cBdqBHRJtzO1z1s2Opj5L
NICjHXCEcU1GzR1rGc20FXXaDcMbgisRob1w92ESrxHRsypUlboKtMfcf0/HbckN
FZLDxkxZENBUql9DenT69m4hEFn3KKOqi2D/RVjYBZrU+joWkv3tXcXiBjB+srgw
xeU1+j+3SwKBgQDoWPKKAZFGVvB3QrQK4C0RapND8/9LyrwA9Dn3X9Coa1PRi515
SA1QWb85eDiXwYKD/uPDQ8sEoU8sZJuzcjcNRgQTXFh+dlFCuku3L9+Ma3CoPd5c
74gIY84KKZFFkrRv/eeW5h9HRsMxuoF/gWdj36owefEYJI5fNhb5sZGFeQKBgHxr
ICtDnuchwYXMpJ7P5hFFVF43TDF+3Gm8Ou7jyVvENuVoKmFbEkaRb02iFBHrTIeJ
5/fRcxuW69+o1azT3F+7d8s4hQ+f49IkhEjvskw8vMWDKIauRep62iLnOoPF/+/C
T8j0PrAy0ipa95eZ1SEFTrRl7VA75aMYXjb4j89VAoGAK+7UBmtTOLTVNUxNFXIP
66Ue0ZX+FOLollJYx42QvXmoqXayOb2H5EjZIIW3narom5Ox454zlWbty4Luncqr
bhfKBLhPqeoOw05h6Z+s9lfr++7rR6ZC8Q+r3m8W2MiEAVDxPIucwB1FPoy2zFG2
jOLVMOsPlJ9FcRQKWupurdo=
-----END PRIVATE KEY-----
19 changes: 19 additions & 0 deletions pkg/pesign/testdata/sb.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDCTCCAfGgAwIBAgIUQ8Ef+QHp6mLYXXvX8/9YsKJDINYwDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAwwJS2Fpcm9zIERCMB4XDTIzMDkyNTE5NDg1NFoXDTMzMDky
MjE5NDg1NFowFDESMBAGA1UEAwwJS2Fpcm9zIERCMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA7yiYejq/rA33hFx4D2pg8pbCfZFpA2r1CGgJpaOw0emY
m9pe6PmHhfT+mifXUao3mC9hjtB+cD/LQNlu6gR4x6UMs3c6+i+y1PMldsO/F2vS
0mNz759BEawiO4x0bopr+oPJSvpkP5UUjYvJ8Cd5q5ON4rBEeCT9d8E9nG9uH3XQ
oQPAvzo9ehhnzAAmHS35i2hSl6rUMgwp6S24CKcGbwl1pNvoU528W0xr1hYOazba
/+rZQtuGqscUYUAbOLE1hOp/UWGms/m0ezTBsVkQ1RyQn6cWGrKVpTzaaN+1e5ai
xYyXc9/QzY5Rqd4qisTmwYBsHdeVhXp3ihJkWnTzrwIDAQABo1MwUTAdBgNVHQ4E
FgQU1McSdX5TgJ/FcIjI+SNwm6ss4MwwHwYDVR0jBBgwFoAU1McSdX5TgJ/FcIjI
+SNwm6ss4MwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAzO5C
E5BjEhwq050bxqqVDYGYXXaLHQsTBDeJGSnJnggODz4o5aKCiBjOAvNeT46maHAe
g7jJ4eNw5Beiqu2LQoTFQC/eCFs6frYRBNCewPMezmT+i+YqZvc/RZfgTY+64SRx
AHvfJuelU3pAS2gWAeg7gQZa0KTJG0ZWnULwy+pAcN2yckz5NOZ7Hl2PPTCUGyhz
uIgoZp1ds4xd6LmGssuMZB6phyhAdvhokrYesJT9BT8tCGgiqjUZWSpG8gJBoJXC
2KHn5iE70B4V/LICBa20PucH7rDgaJTJaKOJ5hp51S6dCUAt3prgPsD0sx+42LvN
OLolFoaI8pH5yJOehQ==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions pkg/pesign/testdata/tpm.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqlPz8yxj5bZEz
3iVI1scRfLSi07euf+bx7VrP1zeKCdBi9aSpzo6GhbSK8cuRgi25tz6lgEsHP8n0
oJ/qBsLWHkSVEgG1WOiI3UQ/Wb/CNSmOKq0Qt8sKKHAmqndB0oMeapbHyQxtKCQR
AAZYmjw4Tg0lpoysPoW2amlNQ6KR+D5NNF/EFp1vIMjTbqCp2yg9Q5OlWMkU4J8O
yYm8G1YIkeA/XSPFkVB0J4jKQwRyEzwRY8VV7qS9YwW1I14WD1q73xua1rU9ghI6
jNCENMMuHJ6Eb3ecUX04xsLCB7PVSlWiw8Q9BcrdeixF0S2GV9ER5Z8mtgj3ypSN
oF8FoZP5AgMBAAECggEAAV7k/4UERGm2snqcGjLJ1mBppvJoBCmqKegN2ZYG9vF9
lAJu9q4enIKqpHIQ1YXgbkuLfH2EeUQMrMbuTngMN4XoL0h20EW7OtT6G5RubfmR
8IYCCscuaMOnMpsB8cH1APyCYuEkhpYEmQ/tmZIbQhqQrQjw2P0/2JXJFreSW5HJ
4GtmrxdR6k8h2hBOQ9rfFarnkh2XcT4lNA9CJgbq5kKdK1z0NMv/2nctMLDS09yg
l43LSAbG1slb2HOO7n5P2JTHqQ6Y1vpBtW0OMM8O3xE0qgg4sD37uUTEQ9K1Uela
t29VkqQg07QcWdF2VFLZ4iyjm+ElsFSur41FvYPUwQKBgQDnTNfp0ennzJTZu7m4
RH9ROW/qOh/63o+K2SDW/Roq7XeGHZD0VZPAE1RXgNQXHqJlM+oNaMEUsYh3pkTe
d9IHDJ7jif2lGw7u51hzuYZZdPd8cVzuqN/ZML5Pd84Pw/ClqftSZyRuytTWxNDo
XLb8MSv2P7SXQJ9YyV/ks57vEQKBgQC8zEO52HZGD1yspBgGpZG4qsNCumiiRWzQ
e/oauDh80ugSd2dxNnk11y6yolxkLMnghs+nbm69+0iEe1lpGJkl4OjeZo0dhVRr
4p5jt660GAKq6Wbuz/RDd3gG+ZhW0sVv9aAejsEFTMSwlEtARTkGEoPpvMAG4t/7
1cXU7KUmaQKBgCrTGW7bRLl8MVsW3M33MLNzNPtjA6TJLD6C8QedGQk1qlmUg9AZ
QB/h9E23No2JSHwAXqdY69bO//tXN40RFjvj5E8wr1uwZNVq0/+pK+zIMUJDIve1
IKzvz2ybO/XDS30Aud2J5z70IvAYxK0g7WhIGmGfbepLNrWTo0OO1jBhAoGBAJde
Le6S3kDNkD/aUGkD1hF415RoX/u6LcP5okxJ5wAtGGO11/ms8wF3xLjz859dSX36
mAJlR+SJ01pkiwr37dGwwQOOtRU2ELluuA669hbuKTVebGiL0gtFfbYZ50m1MxbQ
l8/oJFlbc1cfjjW5Sj7UGW8NJehffbUrb7GHCeIBAoGAYvI1LiM8LCseNZ9MMsrl
A9Zg8lN7DVT1VswQmuUwUoZQ14/AibtjWm2opy0EyMDXS3c1T3bsCpmuBLqYLhKU
On8nVRF+Lx93LuFd15Q1hh/1+QBhDJ9JbEJkvzAdG0dMQS/JkiCTlFLm/jePQY1O
UtV8UUXd5g+leo6CUNgjJpo=
-----END PRIVATE KEY-----
39 changes: 18 additions & 21 deletions pkg/uki/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/kairos-io/go-ukify/internal/common"
"github.com/kairos-io/go-ukify/pkg/types"
"github.com/kairos-io/go-ukify/pkg/utils"
"log/slog"
"os"
"path/filepath"

Expand All @@ -21,11 +22,11 @@ import (
func (builder *Builder) generateOSRel() error {
var path string
if builder.OsRelease != "" {
builder.Logger.Debug("Using existing os-release", "path", builder.OsRelease)
slog.Debug("Using existing os-release", "path", builder.OsRelease)
path = builder.OsRelease
} else {
// Generate a simplified os-release
builder.Logger.Debug("Generating a new os-release")
slog.Debug("Generating a new os-release")
osRelease, err := constants.OSReleaseFor(constants.Name, builder.Version)
if err != nil {
return err
Expand All @@ -49,7 +50,7 @@ func (builder *Builder) generateOSRel() error {
}

func (builder *Builder) generateCmdline() error {
builder.Logger.Debug("Using cmdline", "cmdline", builder.Cmdline)
slog.Debug("Using cmdline", "cmdline", builder.Cmdline)
path := filepath.Join(builder.scratchDir, "cmdline")

if err := os.WriteFile(path, []byte(builder.Cmdline), 0o600); err != nil {
Expand All @@ -69,7 +70,7 @@ func (builder *Builder) generateCmdline() error {
}

func (builder *Builder) generateInitrd() error {
builder.Logger.Debug("Using initrd", "path", builder.InitrdPath)
slog.Debug("Using initrd", "path", builder.InitrdPath)
builder.sections = append(builder.sections,
types.UkiSection{
Name: constants.Initrd,
Expand All @@ -87,10 +88,10 @@ func (builder *Builder) generateSplash() error {
var data []byte

if builder.Splash != "" {
builder.Logger.Debug("Using splash", "file", builder.Splash)
slog.Debug("Using splash", "file", builder.Splash)
data, _ = os.ReadFile(builder.Splash)
} else {
builder.Logger.Debug("Using generic bundled splash")
slog.Debug("Using generic bundled splash")
data = common.Logo
}

Expand Down Expand Up @@ -120,10 +121,10 @@ func (builder *Builder) generateUname() error {

if kernelVersion == "" {
// we haven't got the kernel version, skip the uname section
builder.Logger.Info("We could not infer kernel version", "path", builder.KernelPath)
slog.Info("We could not infer kernel version", "path", builder.KernelPath)
return nil
} else {
builder.Logger.Debug("Getting uname", "version", kernelVersion, "path", builder.KernelPath)
slog.Debug("Getting uname", "version", kernelVersion, "path", builder.KernelPath)
}

path := filepath.Join(builder.scratchDir, "uname")
Expand All @@ -145,13 +146,13 @@ func (builder *Builder) generateUname() error {
}

func (builder *Builder) generateSBAT() error {
builder.Logger.Debug("Getting SBAT", "path", builder.SdStubPath)
slog.Debug("Getting SBAT", "path", builder.SdStubPath)
sbat, err := GetSBAT(builder.SdStubPath)
if err != nil {
return err
}

builder.Logger.Debug("Generated SBAT", "sbat", sbat, "path", builder.SdStubPath)
slog.Debug("Generated SBAT", "sbat", sbat, "path", builder.SdStubPath)

path := filepath.Join(builder.scratchDir, "sbat")

Expand All @@ -177,7 +178,7 @@ func (builder *Builder) generatePCRPublicKey() error {
if !builder.pcrSignEnabled() {
return nil
}
builder.Logger.Debug("Getting Public PCR key")
slog.Debug("Getting Public PCR key")
publicKeyBytes, err := x509.MarshalPKIXPublicKey(builder.PCRSigner.PublicRSAKey())
if err != nil {
return err
Expand Down Expand Up @@ -208,7 +209,7 @@ func (builder *Builder) generatePCRPublicKey() error {
}

func (builder *Builder) generateKernel() error {
builder.Logger.Debug("Getting kernel")
slog.Debug("Getting kernel")

builder.sections = append(builder.sections,
types.UkiSection{
Expand All @@ -223,14 +224,14 @@ func (builder *Builder) generateKernel() error {
}

func (builder *Builder) generatePCRSig() error {
builder.Logger.Info("Generating PCR measurements")
builder.Logger.Debug("Using PCR slot", "number", constants.UKIPCR)
slog.Info("Generating PCR measurements")
slog.Debug("Using PCR slot", "number", constants.UKIPCR)
sectionsData := utils.SectionsData(builder.sections)

// If we have the signer sign the measurements and attach them to the uki file
if builder.pcrSignEnabled() {
builder.Logger.Info("Generating signed policy")
pcrData, err := measure.GenerateSignedPCR(sectionsData, builder.Phases, builder.PCRSigner, constants.UKIPCR, builder.Logger)
slog.Info("Generating signed policy")
pcrData, err := measure.GenerateSignedPCR(sectionsData, builder.Phases, builder.PCRSigner, constants.UKIPCR)
if err != nil {
return err
}
Expand All @@ -254,11 +255,7 @@ func (builder *Builder) generatePCRSig() error {
)
} else {
// Otherwise just measure and print the measurements
measure.GenerateMeasurements(sectionsData, builder.Phases, constants.UKIPCR, builder.Logger)
}

if builder.LogLevel == "debug" {
measure.PrintSystemdMeasurements(types.PhasesToString(builder.Phases), sectionsData, builder.PCRKey)
measure.GenerateMeasurements(sectionsData, builder.Phases, constants.UKIPCR)
}

return nil
Expand Down
Loading

0 comments on commit 2464e25

Please sign in to comment.