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.

[参考译文] CC3220:WiFi 企业版

Guru**** 2553450 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/750157/cc3220-wifi-enterprise

器件型号:CC3220

大家好、我对 cc3220的特定 RADIUS 服务器有一些问题。

我已成功配置并使用 RADIUS Web 提供商(ironwifi)测试了 cc3220、但在客户处安装设备时无法连接到其服务器(错误原因208)

我可以通过 freeradius 的自定义安装重现此问题。

目的是在不进行 RADIUS 服务器证书检查的情况下使用配置 sl_WLAN_ENT_EAP_METHOD_PEAP0_MSCHAPv2 (SL_WLAN_General_PARAM_DISABLE_ENT_SERVER_AUTH = 1)

器件报告错误原因208、请参阅下面的半径错误日志。

我完全确定证书的格式正确、因为它可用于连接到具有相同配置的另一台服务器。

有什么想法会导致这种情况?

以及有关同一主题的一些问题:

在文档中有一句话:"可以通过 WLAN 设置取消对服务器身份验证的要求。 取消此身份验证仅对单个手动连接有效"

这是否意味着使用配置文件的连接将始终检查证书? 是否计划在下一个 Service Pack 中进行更改? 我之所以提出这一要求、是因为根据 WiFi 配置、有两个不同的连接路径非常不切实际。  注:使用禁用了身份验证的直接连接时,也会出现错误。

我可以使用/sys/cert/ca.der 还是 /sys/cert/ca.pem? 它可以采用任何格式吗? (例如 ca.der?中的 pem 文件)

在使用 freeradius 进行测试期间、我在开始时使用了过期的证书、在启用或禁用服务器身份验证时、我收到错误 SL_WLAN_DISCONNING_CERTIFICATE_EXPIRED。 这是预料之中的吗?

半径日志显示以下错误:

(135) EAP_PEAP:继续 EAP-TLS
(135) EAP_PEAP:对等指示的完整 TLS 记录大小将为7字节
(135) EAP_PEAP:获得完整的 TLS 记录(7字节)
(135) EAP_PEAP:[eaptls verify]=包含的长度
(135) EAP_PEAP:<<<反向 TLS 1.0警报[length 0002]、fatal PEAP_CERTIFICATE
:(AP_135错误:) TLS 警报读取:致命:证书错误
(135) EAP_PEAP:错误:TLS_Accept:在未知状态下失败
(135) EAP_PEAP:错误:在__function__(SSL_Read)中失败
(135) EAP_PEAP:错误:错误:14094412:SSL 例程:SSL3_READ_Bytes:SSLv3警报证书错误
(135)(SSL_REACT_PEAP:错误:(135) EAP_REACT_PEAP_REACTURN:
错误:错误:14094412:1:错误:(SSL19_PEAP_PEAP_PEAP1:错误:错误:14091409135)
TLS 接收握手在操作过程中失败
(135) EAP_PEAP:错误:[eaptls process]=失败
(135) EAP:错误:无法继续 EAP PEAP (25)会话。 EAP 子模块失败
(135) EAP:发送 EAP 失败(代码4) ID 112长度4
(135) EAP:在 EAP 选择
(135)中失败[EAP]=无效
(135)}#验证=无效
(135)无法
使用认证后类型拒绝对用户(135)进行验证 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    禁用服务器身份验证并不是持久的,因为它是作为 ROM 设备的修补程序添加的。 它与您是使用手动连接还是配置文件无关、这意味着您需要在与服务器进行任何连接之前调用此 API。

    为了详细说明证书链验证、服务器将向客户端发送链(不包括应安装在客户端上的根 CA)。 客户端需要具有匹配的根 CA。 注意客户端仍会检查所有证书参数以进行验证(也包括过期)、并仅跳过根据证书目录检查已安装的根 CA。 但是,仍需要安装根 CA。

    您在设备中遇到的错误是 UNKNOWN_CA 警报、它与您在服务器端收到的坏证书警报(从客户端接收)相关。 唯一原因是服务器上的证书链损坏(链中的最后一个证书可能指向与您在客户端中安装的根 CA 不同的根 CA)。 对于 RADIUS Web 提供程序、它是可以的、因此至少您有一个要比较的工作引用。

    最后、文档指出仅支持 PEM 格式、但也支持 DER 格式。 唯一需要注意的是文件名应与规定的相同(即带有 DER 后缀)。

    此致、

    Shlomi

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

    您好 、Shlomi、

    感谢你的帮助!

    关于 SL_WLAN_General_Param_disable_ENT_SERVER_AUTH  在使用配置文件时、在 sl_START 之后设置一次是否足够? 还是对于每个连接(例如 、通过 sl_WLAN_DISCONNECT 断开连接后自动重试)。

    好的、我更好地理解证书链验证。  但是,如果我理解正确,这意味着 sl_WLAN_General_Param_disable_ENT_SERVER_AUTH 选项  类似于 SLNETSOCK_SEC_ATTRIB_DISABLE_CERT_STORE 选项 ,但对于半径检查而不是 SSL 检查?

    我想这意味着我们无法再避免在器件上放置客户半径根证书?  尽可能多地使用 CC3200。

    是否有任何方法可以更改此行为,从而真正停用服务器身份验证? 对于我们的许多客户来说、这不是一个选择...

    此致、

    C é dric

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

    您好!

    SL_WLAN_General_Param_disable_ENT_SERVER_AUTH 足以在 sl_start 后设置一次。

    关于 SL_WLAN_General_Param_disable_ENT_SERVER_AUTH、让我仔细检查逻辑是否作为 SSL 工作、或者对于企业来说是否不同。

    此致、

    Shlomi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、谢谢!
    如果确实是这样,请考虑功能请求中是否有一个选项可以真正跳过 RADIUS 服务器身份验证。
    为了解释安全性的合理性、我们的设备仅连接到经过身份验证的服务器。 因此、恶意 AP 不会导致我们的系统出现安全问题。

    同时、我将做更多的测试来更好地了解所有这些。

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

    Cedric、

    我这次再次查看了 NWP 代码、看起来文档不正确。

    默认情况下,该功能已启用(服务器已验证),要禁用该功能,您需要使用值0 (非1)。

    您可以请求重试吗?

    _u8 param = 0;// 0表示禁用服务器身份验证
    SL_WlanSet (SL_WLAN_CFG_General_Param_ID、SL_WLAN_General_Param_disable_ENT_SERVER_AUTH、1、&param); 

    BTW,禁用它时,根 CA 不会加载或检查证书链。

    此致、

    Shlomi

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

    好的、好的、我明天或星期五将做更多的测试并报告。

    感谢您的帮助!

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

    当将 SL_WLAN_General_Param_disable_ENT_SERVER_AUTH 设置为0时、它现在可以正常工作。
    它实际上不会根据需要检查证书。

    感谢你的帮助!

    此致、
    C é dric