验证 RADIUS 服务器是否发送了正确的证书?

验证 RADIUS 服务器是否发送了正确的证书?

如何查看我的 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 兼容的状态输出。

相关内容