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.

[参考译文] CC3235S:无法使用 dummy-trusted-cert 关闭安全文件

Guru**** 2392105 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1116410/cc3235s-cannot-close-secured-file-using-dummy-trusted-cert

器件型号:CC3235S

您好!

我尝试关注 https://dev.ti.com/tirex/explore/node?node=AGVKWEmMLTdrSDotQX5Oug__fc2e6sr__LATEST 上的任务5 、但它 对我不起作用、在 生成签名时已执行所有步骤、 然后将其添加到下面的简单示例代码中、在代码中、我将以安全模式打开文件、 编写内容"这是原始内容!" 然后使用签名和 dummy-trusted-cert 关闭该文件、但仍会出现错误

#define SL_ERROR_FS_ERROR_signature_security_alert            (-10289L)

 请参阅代码下方的 UART 输出

      char originalContent[]="这是原始内容!"

      _const char originalSignature []={0x28、0xfa、0x72、0xEA、0x9e、 0xFE、0xd2、0x8c、0x00、0x72、 0x04、0xd4、0x02、0xfb、0x35、 0x16、0x31、0xc9、0x6d、0xd8、 0x6d、0xc5、0x26、0x8e、0x75、 0xe4、0x36、0xb2、0xf3、0xdf、 0xac、0x1d、0x5a、0x4f、0x80、 0x46、0xf4、0x1E、0x65、0xda、 0xc0、0x05、0xbf、0x29、0xff、 0x79、0x6d、0x7d、0xa4、0x29、 0x79、0x54、0xd5、0x76、0x58、 0x57、0x5f、0xf4、0xf9、0x53、 0x7B、0x48、0x6b、0x1c、0x7c、 0xd9、0xb1、0x8e、0xdf、0x92、 0xC0、0x4e、0x86、0x0E、0x0a、 0xa9、0x1c、0x76、0xf0、0x53、 0xF1、0xef、0xd2、0x4a、0xb9、 0xc6、0xEA、0xb1、0xd8、0x11、 0xdf、0x33、0x4d、0x74、0x1a、 0xbe、0xb8、0x68、0xae、0xee、 0x2D、0x5a、0xb3、0xA5、0x12、 0x56、0x96、0x44、0x53、0xEA、 0x3D、0xe8、0x5b、0xb8、0x85、 0x75、0x70、0xb9、0x34、0x50、 0xb0、0xA5、0xaf、0x6a、0x8d、 0xDE、0x4e、0xe0、0x15、0x37、 0x2D、0xe0、0x39、0xd4、0xfa、 0x13、0x73、0x3a、0x21、0x9d、 0x16、0xAA、0xF3、0xb8、0xf0、 0x9b、0x76、0xFC、0xc3、0x7d、 0xee、0xd4、0x5e、0x3c、0x9C、 0x0E、0xe7、0xDE、0x88、0x0d、 0x2F、0x93、0xe4、0xb0、0x42、 0xe9、0x94、0x10、0x69、0x3b、 0x4b、0xb6、0x06、0x0d、0x87、 0xD1、0x74、0x6e、0x6c、0xf4、 0x85、0x6A、0xf5、0xa3、0xac、 0x76、0xe7、0xb1、0x86、0xc3、 0xED、0x69、0x7A、0x11、0x71、 0x10、0x26、0xb9、0xbc、0x22、 0x71、0x1E、0x25、0xb1、0xc6、 0xEC、0xd4、0xe0、0x61、0xa4、 0x7B、0x26、0x5a、0xbf、0x70、 0xbf、0x62、0x5e、bbf、0x6f、 0xdc、0x34、0xdf、0x89、0x6a、 0x87、0xF3、0x6f、0x37、0x75、 0x2E、0xa9、0xa4、0x67、0xf6、 0x90、0x97、0xee、0x36、0xfb、 0x12、0x5f、0x23、0xe7、0x98、 0xa1、0xf9、0x4a、0xe2、0x48、 0xdc、0xa1、0x94、0x6d、0x81、 0x59};

      INT 状态;

      _i32 *lFileHandle;

      // 使用镜像创建用户文件

      lFileHandle = sl_FsOpen ((_u8 *)"origin.txt"

                  SL_FS_CREATE |SL_FS_CREASE_FAILSAFE|SL_FS_CREATE SECURE_SL_FS_CREATE PUBLICE_WRITE|SL_FS_CREATE MAX_SIZE (100)、

                  null);

      UART_PRINT ("正在打开文件、handler =%ld、r\n"、lFileHandle);

      //将数据写入打开的文件

      状态= sl_FsWrite (lFileHandle、

               0、

               (_u8 *)原始内容、

               strlen (originalContent));

      UART_PRINT ("sl_FsWrite 返回%d\n\r"、状态);

      status = sl_FsClose (lFileHandle、"dummy-trusted-cert"、(const unsigned char *) originalSignature、sizeof (originalSignature));

      UART_PRINT ("正在关闭文件、STATUS=%d\r\n"、STATUS);

从 UART 输出

12:52:12.224 ->正在打开文件、handler = 460558143
12:52:12.437 -> sl_FsWrite 返回29
12:52:12.437 ->正在关闭文件、STATUS=-10289

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

    您好、Tomas、

    我将运行示例以查看是否可以复制错误。 我明天将得出结论。

    -Rogelio

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

    您好、Rogelio、

    我发现它在运行"openssl dgst -hex -c -SHA256..."而不是"openssl dgst -hex -c -sha1"时起作用。 问题 就解决了。 但是、我应该如何 知道 sl_FsClose 正在使用 SHA256而不是 SHA1、您知道吗?

    此致 Tomas

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

    Tomas、您好!

    我很高兴您能找到解决方案。 您的问题答案是 CC3235上的加密文件使用256位长密钥、SHA1使用160位长密钥。

    内置安全功能指南的第5.2.2节 有助于更好地解释它。

    此致、

    Rogelio