tree cc1af5ceac0022abf1177cf4efeda8ce49a73378
parent 05cace2b3fab7b106f2eb6d644663fa92f3bfb62
author Christopher Collins <ccollins@apache.org> 1562016582 -0700
committer ccollins476ad <ccollins476ad@gmail.com> 1562184876 -0700

mfg: Verify embedded images separately

Prior to this commit, the `"mfg".Mfg.VerifyManifest()` function
attempted to verify all of an mfg's embedded images.  This resulted in a
clunky and unfriendly API:

* The caller was required to pass in a set of public signing keys and
private encryption keys.
* There was no way to verify the manifest without also checking the
embedded images.  E.g., if the caller doesn't have access to encryption
keys, this function would fail even if the mfgimage is correct.

Now `VerifyManifest()` does not verify the embedded images.  To verify
the embedded images, the caller should call `"mfg".Mfg.ExtractImages()`
and call the image verification functions on each image separately.
