str*_*ika 10 wifi wpa-supplicant wpa wpa2-eap wpa2
我必须连接到 WPA2 Enterprise 网络,该网络仅在我不验证证书时才有效。我不想这样做,因为这样任何人都可以看到 MSCHAPv2 消息。
解决此问题的第一步是查看 AP 提供的证书,然后将 wpa_supplicant 配置为仅信任该证书。但我不知道如何获得证书。wpa_cli“status”命令不显示它,也不在任何日志中。
我也很好奇使用了哪些 SSL/TLS 密码套件。是否可以手动连接,也许使用 openssl s_client?
小智 6
您可以使用 Wireshark 转储握手,然后使用 openssl 将二进制数据转换为 PEM,正如@grawity 在超级用户的类似问题中所建议的那样:
\n\n\n遗憾的是,即使在调试模式下,wpa_supplicant 也没有转储证书的选项。(如果我找到更好的方法,我会更新此内容。)不过,您仍然可以监视实际的 EAPOL 身份验证过程。首先,安装 Wireshark。
\n断开连接时,手动启动接口并开始捕获:
\nRun Code Online (Sandbox Code Playgroud)\n$ sudo ip link set wlan0 up\n$ wireshark -ki wlan0 &\n启动 wpa_supplicant,很快您就会看到 TLS 握手:
\n\n服务器将在 ServerHello 之后立即发送其证书。选择第一个这样的数据包,然后深入研究:
\nRun Code Online (Sandbox Code Playgroud)\n802.1X\n\xe2\x94\x94\xe2\x94\x80Extensible Authentication Protocol\n \xe2\x94\x94\xe2\x94\x80Secure Sockets Layer\n \xe2\x94\x94\xe2\x94\x80Handshake Protocol: Certificatte\n \xe2\x94\x94\xe2\x94\x80Certificates\n右键单击“Certificate ( stuff )”的第一个实例,然后选择“导出选定的数据包字节”。Wireshark 会将其保存为二进制 DER 格式的文件。对所有其他证书重复此操作。最上面的一个(RADIUS 服务器)包含您可以在 中配置的信息
\naltsubject_match;最后一个(根 CA)应作为 提供给 wpa_supplicantca_cert。现在您有一些
\n*.crt二进制*.derDER 格式的文件。将它们转换为 PEM“文本”格式:Run Code Online (Sandbox Code Playgroud)\nopenssl x509 -inform DER < mycert.der > mycert.pem\n(如果您的 wpa_supplicant 使用 OpenSSL 作为 TLS 处理程序,您必须向其提供“根 CA”证书;向其提供服务器的证书将不起作用。
\n请注意,Wireshark 中看到的最后一个证书也可能不是根 CA 的,而仅由您目录中的根 CA 之一颁发
\n/etc/ssl/certs...如果是这种情况,请确保使用公共 CA设置altsubject_match\xe2\x80\x93 也是不安全的,因为不幸的是 802.1X 不知道要验证什么“主机名”,例如 HTTPS 的方式。)
| 归档时间: |
|
| 查看次数: |
5998 次 |
| 最近记录: |