func runVerifyMfgCmd()

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
	}
}