in cli/mfg_cmds.go [618:662]
func runVerifyMfgCmd(cmd *cobra.Command, args []string) {
if len(args) < 1 {
ImgmodUsage(cmd, nil)
}
mfgDir := args[0]
// Read mfgimg.bin and manifest.
m, man, err := readMfgDir(mfgDir)
if err != nil {
ImgmodUsage(cmd, err)
}
iss, err := sec.ReadPubSignKeys(OptSignKeys)
if err != nil {
ImgmodUsage(nil, errors.Wrapf(err, "error reading signing key file"))
}
kes, err := sec.ReadPrivEncKeys(OptEncKeys)
if err != nil {
ImgmodUsage(nil, errors.Wrapf(err,
"error reading encryption key file"))
}
st, stgood := verifyMfgStructureStr(m, man)
si, sigood := verifyMfgSigsStr(m, man, iss)
ma, magood := verifyMfgManifestStr(m, man)
im := ""
imgood := true
if OptVerifyImages {
im, imgood = verifyEmbeddedImages(m, man, iss, kes)
} else {
im = " images: n/a"
}
iutil.Printf("%s\n", st)
iutil.Printf("%s\n", si)
iutil.Printf("%s\n", ma)
iutil.Printf("%s\n", im)
if !stgood || !sigood || !magood || !imgood {
os.Exit(94) // EBADMSG
}
}