in cli/mfg_cmds.go [272:314]
func genSwapKeyCmd(cmd *cobra.Command, args []string, isKek bool) {
if len(args) < 3 {
ImgmodUsage(cmd, nil)
}
mfgimgFilename := args[0]
okeyFilename := args[1]
nkeyFilename := args[2]
outFilename, err := CalcOutFilename(mfgimgFilename)
if err != nil {
ImgmodUsage(cmd, err)
}
bin, err := readMfgBin(mfgimgFilename)
if err != nil {
ImgmodUsage(cmd, errors.Wrapf(err,
"failed to read mfgimg file: %s"))
}
okey, err := ioutil.ReadFile(okeyFilename)
if err != nil {
ImgmodUsage(cmd, errors.Wrapf(err, "failed to read old key der: %s"))
}
nkey, err := ioutil.ReadFile(nkeyFilename)
if err != nil {
ImgmodUsage(cmd, errors.Wrapf(err, "failed to read new key der: %s"))
}
if isKek {
err = imfg.ReplaceKek(bin, okey, nkey)
} else {
err = imfg.ReplaceIsk(bin, okey, nkey)
}
if err != nil {
ImgmodUsage(nil, err)
}
if err := WriteFile(bin, outFilename); err != nil {
ImgmodUsage(nil, err)
}
}