FreeRADIUS 错误“SSL 显示错误 25:超出路径长度限制”是什么意思?

FreeRADIUS 错误“SSL 显示错误 25:超出路径长度限制”是什么意思?

我正在测试连接到 RADIUS 服务器的设备的 WLAN 功能。此 RADIUS 服务器位于装有 Raspbian Stretch 的 Raspberry Pi 上,并使用自由RADIUS 3.0和 Hostapd。

一些安全协议传输层协议测试用例检查如果发生什么情况长长的“信任链”被使用。我所说的长信任链是指由中间证书的长链

现在,我面临的问题是,在某些测试用例中,FreeRADIUS 在其日志中返回特定错误:

SSL 显示错误 25:超出路径长度限制

其中一个测试用例如下所述:

RADIUS 证书文件:

  • 证书:服务器证书-IM1-RootCA(由 RootCA 签名的 IM1 签名的公钥)
  • 私钥:服务器密钥
  • CA 证书:IM3 - IM2 - IM1 - RootCA 链(由 IM3、IM2、IM1 和 RootCA 组成的链)

客户端证书文件:

  • 证书:客户端证书 - IM3 - IM2 - IM1 - RootCA(由 IM3 签名的 ClientCert,由 IM2 签名的 ClientCert,由 RootCA 签名的 IM1 签名的 ClientCert)
  • 私钥:客户端密钥
  • CA 证书:IM1——RootCA 链(由 IM1 和 RootCA 形成的链)

尝试使用此设置进行连接时,在客户端发送 Hello 后,RADIUS 服务器开始发送其 CA 证书链,而不是预期的服务器证书(使用 Wireshark 看到此情况)。它还会抛出错误 25。

现在的问题是:

  1. 错误“SSL 显示错误 25:超出路径长度限制”是什么意思?这与信任链的长度有关吗?

  2. 所描述的配置是否合法?

  3. 为什么服务器发送其 CA 证书链而不是服务器证书?

  4. 信任链中使用的中间体数量是否有限制?

答案1

错误“SSL 显示错误 25:超出路径长度限制”是什么意思?这与信任链的长度有关吗?

这指的是证书的 pathLenConstraint 扩展。通过此扩展,CA 可以限制可能的信任路径的深度。例如,CA 可能会颁发子 CA,但会对其进行限制,以便该 CA 不能颁发更多其他子 CA,而只能颁发叶证书。另请参阅证书基本约束的路径长度

所描述的配置是否合法?

可能或可能不是,这取决于路径长度是否被限制为不允许此长度的信任路径。

为什么服务器发送其 CA 证书链而不是服务器证书?

服务器应发送其叶证书以及构建到受信任根 CA 的信任路径所需的中间证书。如果服务器仅发送链而不发送叶证书,则说明存在问题。但您可能没有注意到,服务器不仅发送链证书,还发送叶证书(应该是第一个)。

信任链中使用的中间体数量是否有限制?

如果 pathLenConstraint 中给出了一个限制,那么就有这样的限制。如果没有给出这样的限制,理论上就没有限制,但实际上 TLS 堆栈可能会不允许非常大的链。

相关内容