![验证 RADIUS 服务器是否发送了正确的证书?](https://linux22.com/image/681421/%E9%AA%8C%E8%AF%81%20RADIUS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E5%8F%91%E9%80%81%E4%BA%86%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%AF%81%E4%B9%A6%EF%BC%9F.png)
如何查看我的 RADIUS 服务器正在使用的 TLS(SSL)证书,以确保它发送正确的证书和链?
我正在使用 RADIUS 服务器实现 802.1x 身份验证,但是一些请求者(客户端)的证书接受问题。我希望以一种简单的方式查看服务器发送的证书,类似于您用来openssl s_client
调试 TCP TLS 流量的方式。
答案1
您可以使用eapol_test
,属于包裹wpa_supplicant
。您需要下载源代码并编译它make eapol_test
(默认情况下不构建)。它至少应该可以在 Linux、Windows 和 Mac OS X 上运行(没有太多宣传,但我可以在后者上编译和使用它)。
您创建一个配置文件(这里有一些例子,但我想找不到所有选项的概述src/eap_peer/eap_config.h
包含一些),然后运行该工具:
./eapol_test -c <config file> -s <shared secret> -a <ip address of radius server>
在所有输出中你应该看到 TLS 证书通过,但你也可以通过传递以下-o
选项将它们转储到文件中:
-o<server cert file> = Write received server certificate
chain to the specified file
如果您ca_cert
在配置文件中指定该选项,程序还将对发送的链进行验证,并且您会在程序的输出中看到验证结果(而不是在转储证书的文件中)。
之后,您还可以使用包装rad_eap_test
器,它返回与 Nagios 兼容的状态输出。