我正在尝试使用加密库 (X-CUBE-CRYPTOLIB) 实现固件完整性检查,为此我必须计算 SHA256 校验和,然后确定填充并将其包含在我将上传到板的二进制文件中。
我一直在看 STM 的 mooc Security 第 4 部分
https://www.youtube.com/watch?v=RahlfYJ1gDs&list=PLnMKNibPkDnF0wt-ZI74SflnsBV4yKzkO&index=7
在实验室中,他们对 stm32g0 进行验证。问题是我不知道如何确定固件的大小,在实验室里他们使用页面大小,但在我的板上,闪存有不同大小的块:
我还有一个外部存储器,我也想对其进行 SHA256 计算。该内存由 256 个 64k 的块组成(它们的大小都相同)。
我遇到的另一个困难是十六进制文件涵盖了两个扇区(内部和外部闪存),所以我不知道是否将内部和外部哈希分开放置(就在 FW 区域命中之后)。