具有混合 CA 的 FreeRadius

具有混合 CA 的 FreeRadius

是否可以使用两个不同的 CA 运行 FreeRadius(版本 3.0.13)?这样我就可以拥有来自一个 CA 的服务器证书,而客户端证书则来自另一个 CA?

我们当前的设置看起来/etc/raddb/mods-enabled/eap有点像这样:

...
tls-config tls-common {
  certificate_file = ${certdir}/server.pem  # certificate only from CA ONE
  ca_file = ${cadir}/ca.pem                 # complete chain from CA TWO
  auto_chain = no
  ca_path = ${cadir}                        # contains all certs/complete chains from both CAs
}
...

这是我在日志中看到的错误:

Mon Dec 20 13:15:30 2021 : ERROR: (352) eap_tls: ERROR: TLS Alert read:fatal:unknown CA
Mon Dec 20 13:15:30 2021 : ERROR: (352) eap_tls: ERROR: TLS_accept: Failed in error
Mon Dec 20 13:15:30 2021 : ERROR: (352) eap_tls: ERROR: Failed in __FUNCTION__ (SSL_read)

一旦客户端和服务器从同一个 CA 获取证书,一切都会正常运行。

那么,服务器和客户端是否可以拥有不同的 CA?如果可以,我需要做什么才能完成这项任务?

答案1

在以下帮助下艾伦·迪科克自由半径邮件列表问题就能得到解决。

首先我们需要只使用ca_path而不ca_file添加。然后我们将所有 CA 证书放入ca_path目录中。

最后,客户端还需要服务器证书的根 CA。然后客户端终于可以连接了:

Tue Jul  5 12:33:37 2022 : Auth: (14) Login OK: [USER] (from client ap port 111 cli 111.1111.1111)

相关内容