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 器件连接到服务器、但不断收到以下错误消息:
SL_ERROR_BSD_ESECBADCAFILE (-456L)/*错误安全级别错误的 CA 文件*/
通过我的 PC 使用 mosquito 连接相同的证书时,我可以连接(如 附在屏幕截图中,左窗口),但不能连接设备(附在屏幕截图,右窗口)。 欢迎提出任何进一步的建议或给予支持。
端口:8883
TLS 版本:1.2
MQTT 版本3.11
CA 证书的密码: ECDHE-ECDSA-AES256-GCM-SHA384
此致、
Shashank
您好!
错误-456表示您提供的根 CA 证书(SL_ERROR_BSD_ESECBADCAFILE)有问题。
要么是证书格式错误、要么是证书文件的路径错误。
您是使用 TI 的目录还是使用根虚拟目录进行设置?
如何在文件系统中设置它(我猜测是通过 Uniflash)? 文件名是什么?如何设置根 CA? 哪种 API?
是否还可以共享根 CA?
Shlomi
您好!
我已 在 google 驱动器链接中上传了根 CA。 我已经为我们服务器的网站 sarad.de 尝试了根 CA (UserTrust RSA 证书颁发机构)和中间证书颁发机构(Sectigo RSA 域验证安全服务器 CA)、我们正在测试其 MQTT 连接。
同一个证书(Sectigo RSA 域证书)可与 PC 上的 mosquitto 配合使用、与附加图像的左侧窗口相同、但与设备无关。
我已通过 Uniflash 刷写了它、根 CA 的文件名为 TLS_Sectigo_CA.crt (如下图所示)、设置在根目录中。
我们尝试了2种方法来编写证书:
1.证书中的换行 符是通过在证书正文中的64个字符后面加上"\n"来手动添加的
2.将证书复制到 Notepad++ 上、并添加了 CR LF 的 EOL 转换、并将其上载到设备上
您能否同时发送一个格式正确的工作根 CA 证书示例进行上传。 谢谢!
您好!
我认为这里的主要问题是这个根 CA 不包括在根 CA 目录中、尽管我预计会得到 FS_ERR_ROOT_CA_IS_UNKown 错误。
只是为了验证、是否可以绕过根 CA 验证?
可以使用 SL_SO_SECURE_DISABLE_CERTIFICATE_STORE 选项实现。
另外、你能否回答我以上的问题? --> 如何在文件系统上设置它(我猜是通过 Uniflash )? 文件名是什么?如何设置根 CA? 哪种 API?
Shlomi
Shlomi、您好!
根 CA 包含在根 CA 目录中、因为正如我之前提到的、相同的证书在 PC 上使用 mosquito (如我以上回复左侧窗口中的图片所示)
我也绕过了根 CA 验证。 我们使用的是 Wurth Calypso 电路板、此电路板使用的是 cc3220sf 芯片。
为了回答您的问题、我们使用 AT 命令通过串行接口工具直接通过 SimpleLink API 上传(此方法与其他文件完美配合、我们可以在写入闪存后读取证书)。 文件名设置简单为"RootCA.crt"、我们还尝试了"RootCA.pem"
是否存在其他问题的任何线索?
Shashank
您好!
如何确定您正在使用的根 CA 位于 Simplelink 器件的目录中?
是否可以附加您正在使用的根 CA?
Shlomi
您好!
我们在内存中检查了是否保存的文件、并且文件名与我们创建的文件名相同。 此外,我们在写了 RootCA 的内容后,能够读取它的内容,并验证它与预期一样。 因此、我们确信 RootCA 是 SimpleLink 设备上的同一版本。
根 CA 附加在 google 驱动器链接中
这个根 CA 在您的 PC 上工作并不多,这只是说这个根 CA 是您的 PC 目录的一部分.
Simplelink 器件中的目录已硬编码、不包括此特定根 CA。
下的 SDK 中、您可以看到它们 \tools\cc32xx_tools\certificate-catalog\readme.html、有一个包含所有受支持证书的列表、这个列表中没有。
哦,好的,谢谢澄清! 是否有办法将其添加到列表中?
此列表更新已有一段时间。
让我在内部检查流程。
Shlomi
好的、请告诉我。
此致、
Shashank
当然、需要一段时间、因此、感谢您的耐心。
Shlomi
您好!
它是否有任何更新? 谢谢!
您好!
仍然没有获得任何反馈。
很抱歉耽误你的时间。
Shlomi
好的、请尽快告诉我。 如果需要、我可以共享日志以加快该过程
当然、如果我发现这需要很长时间、我会尝试创建一个"调试"目录、将这个特定目录添加到该目录中、然后发送给您进行测试。
大家好、我们有最新消息。 我们目前正在对 As as RootCA 使用自签名证书。 证书颁发给(例如)" hq.test.com "(cn=hq.test.com)。 但是、MQTT 服务器地址是 URL" test.com "。 MQTT 连接命令返回错误-456 (SL_ERROR_BSD_ESECBADCAFILE)。 我们假定这是因为启用了域验证功能。 但是、设置"disable_domain_verification"标志不能解决问题。 是否有针对此问题的权变措施?
您好!
是否可以附加创建的根 CA 证书?
Shlomi
它位于 gdrive 链路中
您好!
如果创建自己的证书、则无法将其添加到证书存储区、因此它很可能会失败、因为它不在目录中。
您可以通过使用 SL_SO_SECURE_DISABLE_CERTIFICATE_STORE 选项绕过目录、以确保这是问题所在。
Shlomi