func runSignCmd()

in cli/image_cmds.go [136:173]


func runSignCmd(cmd *cobra.Command, args []string) {
	if len(args) < 2 {
		ImgmodUsage(cmd, nil)
	}

	inFilename := args[0]
	outFilename, err := CalcOutFilename(inFilename)
	if err != nil {
		ImgmodUsage(cmd, err)
	}

	img, err := readImage(inFilename)
	if err != nil {
		ImgmodUsage(cmd, err)
	}

	keys, err := sec.ReadPrivSignKeys(args[1:])
	if err != nil {
		ImgmodUsage(cmd, err)
	}

	hash, err := img.Hash()
	if err != nil {
		ImgmodUsage(cmd, errors.Wrapf(err,
			"failed to read hash from specified image"))
	}

	tlvs, err := image.BuildSigTlvs(keys, hash)
	if err != nil {
		ImgmodUsage(nil, err)
	}

	img.Tlvs = append(img.Tlvs, tlvs...)

	if err := writeImage(img, outFilename); err != nil {
		ImgmodUsage(nil, err)
	}
}