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.

[参考译文] CC3220SF-LAUNCHXL:为什么在 ESECUNKNOWNROOTCA 上调用 isn#39;t SimpleLinkSockEventHandler()?

Guru**** 2589245 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/931480/cc3220sf-launchxl-why-isn-t-simplelinksockeventhandler-called-on-esecunknownrootca

器件型号:CC3220SF-LAUNCHXL

您好!

dev.ti.com/.../node 使用 SimpleLinkSockEventHandler()来查找 sl_SSL_notification_wrong_root_CA 并转储 pExtraInfo 以了解所需的根 CA 证书名称。

我的 platform.c 在对该函数的所有调用上打印一些输出、并在每个 sl_socket_ASYNC_EVENT 上转储外部信息。  尽管 OTA 打印了 HttpClient_Connect(),但根本无法调用该函数

   OTA_RUN:调用 CdnClient_ConnectServer OTA server=api.dropboxapi.com
   CdnClient_ConnectServer:HttpClient_Connect api.dropboxapi.com
   HttpClient_Connect:IP_ADDR=162.125.64.7
   HttpClient_Connect:警告套接字连接、STATUS=-468 ESECUNKNOWNROOTCA、证书存储已禁用、已忽略...

对于 simplelink_cc32xx_sdk_4_20_00_07、如果 sl_Connect 返回 ESECUNKNOWNROOTCA、则应该发生具有非凡信息的异步事件吗?

我可以检查 api.dropbox.com 提供的证书链、并查看"CN = DigiCert 高保证 EV 根 CA"位于末尾、给出了所需的根证书主体的 CN、但我想了解为什么我看不到 Node Explorer 所期望的内容。

谢谢、Ralph。

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

    您好、Ralph、

    如果从设备端提供的根 CA 与服务器提供的根 CA 不匹配,sl_SSL_notification_wrong_root_CA 会被抛出异步套接字处理程序。 这与您在上面突出显示的情况不同、其中根 CA 不为器件所知、因为在中、它不存在于器件证书存储区中。 如果套接字连接的状态为-688 SL_ERROR_BSD_ESEC_ASn_NO_Pigner_E、则表示使用的证书不正确、并且将在处理程序中返回要使用的正确证书。

    如程序输出所示、错误-468仅是警告、TLS 连接已成功建立。 为了解决此问题、您需要使用生产证书目录、而不是仅为便于开发使用的游乐场证书。 运动场目录仅将运动场开发根 CA 作为受信任根 CA、而不是通常受信任根 CA 的完整列表。

    如果您需要进一步澄清或对此问题有进一步的问题、请告诉我。

    此致、

    Michael