cbnt-prov: Allow *-show to work on full images (#314)
cbnt-prov: Allow *-show to work on full images Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Signed-off-by: Christian Walter <christian.walter@9elements.com> Co-authored-by: Dmitrii Okunev <xaionaro@gmail.com> Co-authored-by: Christian Walter <christian.walter@9elements.com>
This commit is contained in:
parent
a8e9b94f10
commit
6d6f90c083
|
@ -233,10 +233,19 @@ func (kmp *kmPrintCmd) Run(ctx *context) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reader := bytes.NewReader(data)
|
||||
km, err := cbnt.ParseKM(reader)
|
||||
var km *key.Manifest
|
||||
_, kmEntry, _, err := cbnt.ParseFITEntries(data)
|
||||
if err != nil {
|
||||
return err
|
||||
reader := bytes.NewReader(data)
|
||||
km, err = cbnt.ParseKM(reader)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
km, err = kmEntry.ParseData()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to parse KM: %w", err)
|
||||
}
|
||||
}
|
||||
km.Print()
|
||||
if km.KeyAndSignature.Signature.DataTotalSize() > 1 {
|
||||
|
@ -252,10 +261,19 @@ func (bpmp *bpmPrintCmd) Run(ctx *context) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reader := bytes.NewReader(data)
|
||||
bpm, err := cbnt.ParseBPM(reader)
|
||||
var bpm *bootpolicy.Manifest
|
||||
bpmEntry, _, _, err := cbnt.ParseFITEntries(data)
|
||||
if err != nil {
|
||||
return err
|
||||
reader := bytes.NewReader(data)
|
||||
bpm, err = cbnt.ParseBPM(reader)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
bpm, err = bpmEntry.ParseData()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to parse BPM: %w", err)
|
||||
}
|
||||
}
|
||||
bpm.Print()
|
||||
if bpm.PMSE.Signature.DataTotalSize() > 1 {
|
||||
|
@ -271,6 +289,10 @@ func (acmp *acmPrintCmd) Run(ctx *context) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, _, acmEntry, err := cbnt.ParseFITEntries(data)
|
||||
if err == nil {
|
||||
data = acmEntry.DataSegmentBytes
|
||||
}
|
||||
acm, chipsets, processors, tpms, err, err2 := tools.ParseACM(data)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue