image_verify: Support full image
The code only supports verify the static.mtd.tar, but not
static.mtd.all.tar.
This change adds the signature verify for the full tarball.
Tested: Update .static.mtd.all.tar with Redfish API OK.
Update .static.mtd.tar with Redfish API OK.
Signed-off-by: Henry Tian <tianxiaofeng@bytedance.com>
Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: I58a47d76ef090644cc1e870077f438b8768f6aa9
diff --git a/image_verify.hpp b/image_verify.hpp
index f5acbb9..02e1093 100644
--- a/image_verify.hpp
+++ b/image_verify.hpp
@@ -10,6 +10,7 @@
#include <filesystem>
#include <set>
#include <string>
+#include <vector>
namespace phosphor
{
@@ -209,6 +210,19 @@
/** @brief Hash type defined in mainfest file */
Hash_t hashType;
+
+ /** @brief Check and Verify the required image files
+ *
+ * @param[in] filePath - BMC tarball file path
+ * @param[in] publicKeyPath - publicKey file Path
+ * @param[in] imageList - Image filenames included in the BMC tarball
+ * @param[out] result - Boolean
+ * true if all image files are found in BMC tarball and
+ * Verify Sucess false if one of image files is missing
+ */
+ bool checkAndVerifyImage(const std::string& filePath,
+ const std::string& publicKeyPath,
+ const std::vector<std::string>& imageList);
};
} // namespace image