This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/CC3220SF-LAUNCHXL:是否可以在编程到 CC3220SF 之前进行文件完整性检查?

Guru**** 2554780 points
Other Parts Discussed in Thread: UNIFLASH, SHA-256

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/777047/rtos-cc3220sf-launchxl-is-it-possible-to-have-file-integrity-check-before-program-into-cc3220sf

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件:UNIFLASHSHA-256

工具/软件:TI-RTOS

您好、先生、

目前、我们运行 cloud_ota 示例。 以及从 dropbox/GitHub 服务器获取.tar 文件并将程序编程到外部闪存中的工作。

但是、如果我们需要在直接编程之前进行 MD5检查、如何执行? 有任何我们可以参考的示例?

威尼基

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、wenij、

    OTA 示例(云和本地 OTA) 演示了如何使用已安装的证书对每个更新的文件和整个 tar 文件内容进行签名验证。 仅当图像通过验证时、才会对其进行编程。  

    Uniflash 使用私钥对 OTA 映像(创建时)进行签名、并将密钥存储在 tar 文件中。

    它通过 sl_NetUtilCmd 接口(不支持 MD5)使用 ECDSA + SHA256。  

    如果您特别想使用 MD5 -则需要改用 CryptoC32XX 接口。

    BR、

    Kobi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    感谢您的回答。

    更多详细信息、请咨询您、

    我知道、OTA 示例将即时获取一个文件内容、并写入闪存、然后进行验证、然后重复此过程、直到写入并检查 tar 中的所有文件。 我不理解的是、如果有任何文件有问题、它已经写入/sys/mcuflashimg.bin (例如)、 并且验证检查将失败。 如果我不重新启动 MCU、它是否会自动恢复原始/sys/mcuflashimg.bin。  

    威尼基

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wenij、

    OTA 过程首先验证"ota.cmd"的签名(即包含所有更新文件(包括其签名)信息的元数据文件)。
    如果"ota.cmd"验证成功、该过程将在每个文件写入文件系统时完成并验证其签名(计算签名并与元数据信息进行比较)。
    文件验证过程中的任何失败都会导致文件系统回滚(回滚指的是所有 OTA 文件)。

    BR、
    Kobi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仅需阐明、作为 OTA 映像验证(上述过程)的一部分、每个文件的验证是其 SHA-256摘要(而不是上面提到的文件签名)。

    在写入文件时、文件签名验证(仅与受保护的文件相关)在文件系统级别完成。

    BR、
    Kobi