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.

[参考译文] LAUNCHXL-CC3235SF:CC3235SF 上的安全 OTA

Guru**** 2589265 points
Other Parts Discussed in Thread: LAUNCHXL-CC3235SF, UNIFLASH, CC3235SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1113639/launchxl-cc3235sf-secure-ota-on-cc3235sf

器件型号:LAUNCHXL-CC3235SF
主题中讨论的其他器件: UNIFLASHCC3235SF

您好!

  我将  LAUNCHXL-CC3235SF 与 SDK simplelink_cc32xx_sdk_5_20_00_06结合使用、我已为 OTA 实现了自定义代码、我对 OTA 器件进行了一些查询。

1) 1)是否可以仅更新 mcuflashimg.bin?

2) 2)为了实现安全 OTA、是否必须随 mcuflashimg.bin 一起更新根证书?

谢谢、

Nagaraj

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

    我们的 OTA 库基于 tar 文件(由 uniflash 或 CCS 创建)作为更新文件的容器。

    内容可以是一个文件、但对于  MCU 镜像等安全文件(如您在1中要求的那样)-您将需要至少添加用于验证它的根 CA 证书(即使该证书已在文件系统上)。 当然、您也可以将 tar 文件与多个文件(例如 SP + MCU 图像+用户文件)。

    至少在 CCS 中、您可以为每个文件选择是否包含在 OTA 映像中(即 TAR 文件中)。

    对于 uniflash、如果只需要 MCU 映像、则创建一个空的 uniflash 项目、并且仅添加 MCU 映像(具有验证该映像的根 CA)以生成 OTA 映像。

    关于问题2。 在 OTA 更新之前、需要在文件系统上安装验证安全 OTA 映像(默认名为"dummy_ota_vendor_cert.der")的根 CA。  

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

    您好、Kobi、

          感谢您的回复、是否可以从服务器在器件上对单个用户文件进行 OTA 操作、是否需要为用户文件添加证书文件/密钥?

    我正在尝试构建 cloud_ota 演示、但我遇到构建错误  "Fatal Error[MS007]:无法打开文件"ti/net/ota/Release/ota.a" C:\ti\simplelink_cc32xx_sdk_5_20_00_06\examples\rtos\cc3235SF_LAUNCHXL\oti_rebuilding\creamincru_ot_utilbs.mos\cmos\cmos\cmos\ti

    谢谢、

    Nagaraj

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

    您可以对用户文件进行 OTA、仅当文件定义为安全文件时才需要证书。

    您需要使用"otauser.h"中的"云供应商"设置为 IAR 编译 OTA 库。

    请参阅 OTA 文档: www.ti.com/.../swra510

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

    您好、Kobi、

          我已经下载了最新的 simplelink_cc32xx_sdk_6_10_00_05,在该 SDK 中,ota.a 库位于"C:\ti\simplelink_cc32xx_sdk_6_10_00_05\sources\ti\net\ota\IAR\Release"。为了测试 OTA 演示,我尝试使用 Build the Timertt timer_timert   (timert),在获取 timerf 命令时钟代码> timerf)。

     在哪里可以修改代码、以便可以在代码中预定义自定义 URL、以便可以在按下按钮时从自定义 URL 下载 OTA 映像。  

    谢谢、

    Nagaraj

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

    您好、Kobi、

         我想下载除 GitHub 和 Dropbox 之外的 OTA 文件、我已在    otauser.h 中设置为#define OTA_SERVER_TYPE OTA_FILE_DOWNLOAD、并设置自定义 URL 链接以将.tar 文件下载到  g_OtaTarFileURL 变量、 我可以在没有证书的情况下连接自定义服务器、但无法下载.tar 文件。 请在运行云 OTA 应用程序时找到以下日志

    秘书长的报告
    OTA 应用程序-版本0.10.00.03
    秘书长的报告

    SimpleLinkInitCallback:在角色0中启动
    主机驱动程序版本:3.0.1.71
    编译版本4.13.0.2.31.3.7.0.1.3.1.0.26
    STA 已连接到 AP IMLANTIRE1、BSSID 为40:3f:8c:F4:85:16
    已获取 IPv4:IP = 192.168.11.156
    网关= 192.168.11.1
    正在 Ping Gw...!
    Ping 完成。 成功率:66%

    HandlePingComplete:PingCounter=1
    正在 Ping Gw...!
    Ping 完成。 成功率:100%

    HandlePingComplete:PingCounter=2
    正在 Ping Gw...!
    Ping 完成。 成功率:100%

    HandlePingComplete:OTA 命令已到达
    OtaInit:统计数据= 0、0、0
    OtaInit:调用 Ota_init
    OtaRunStep:警告 Ota_run、Status=20008、继续进行下一次 OTA 重试

    OtaRunStep:警告 Ota_run、Status=20008、继续进行下一次 OTA 重试

    OtaRunStep:警告 Ota_run、Status=20008、继续进行下一次 OTA 重试

    OtaRunStep:警告 Ota_run、Status=20008、继续进行下一次 OTA 重试


    OtaRunStep:Ota_run -21003的致命错误!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    测试失败:状态= 6、事件= 17
    事件处理程序失败..!!

    谢谢、

    Nagaraj

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

    请启用 OTA 库日志(取消注释 otauser.h 中的"#define SL_ENABLE_OTA_DEBUG_TRACINTS")、以查看有关错误的更多详细信息。

    请注意、使用 SDK 6.10时、我们提供了 MQTT 客户端示例中显示的新 OTA 方法。

    检查应用自述文件 -特定 OTA 服务器的集成在应用程序代码中完成。 检查 Dropbox 和 Github 的参考代码(在 ifmod/文件夹下)并根据您的服务器进行更新(仍然需要 OTA 库、但仅用于 OTA TAR 解析)。

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

    您好、Kobi、

          感谢您的回复、下载最新的 SDK 6.10示例代码后工作正常、我不确定如何保护 在配置器件期间创建的"dummy-root-ca-cert"、"dummy-trusted-cert"、"dummy_ota_vendor_cert.der"和我们的证书文件?

    谢谢、

    Nagaraj

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

    保护 证书文件意味着什么?

    不要在实际产品中使用我们的虚拟证书-由于密钥是打开的、因此它们不安全。  

    此外、公共证书通常也可能不安全。

    但是 、您使用安全标志创建这些文件、就像创建其他安全文件一样(请参阅 编程人员指南中的第7章)

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

    你好、Kobi、

          我们需要连接设备 AWS IOT,从服务器配置证书,并将证书写入"/cert/ca.pim"、"/cert/cert.pem 和"/cert/key.pem,是将证书默认为安全保护,还是应使用安全标志打开此文件?

    从服务器下载的客户端证书必须在文件系统中进行保护。

    谢谢、

    Nagaraj

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

    您应该创建 受保护的文件。 证书(和密钥)文件仅被视为用户文件、因此除了用户配置之外、不涉及默认安全性。