0

我想创建一个支持 PEAP(类型 25 - 带有 EAP-TLS 的 PEAP)的半径服务器EAP 数据包内部。根据 RFC 2246 (TLS 1.0) 我需要一些工具来帮助我创建 PEAP 协议的第 1 阶段。在 PEAP 阶段 1 中,建立了一个 TLS 通道(在 radius 数据包内部和在 EAP 消息属性-UDP 内部)。阶段 2 中的其他数据通过该 tls 通道发送。由于 PEAP 分两个阶段完成,因此第 1 阶段是我的主要问题,以下工具对我没有帮助:

1- System.Net.Security.SslStream 类。(这在 TCP 上工作,而 radius 在 UDP 上工作)。

2-secureBlackbox DTLS 类。(这是一个高级 DLL,不允许我在 TLS 握手过程之前更改数据。在需要任何 TLS 协议进程之前编辑从客户端接收的数据,因为接收到的数据是一个半径数据包。首先我必须提取来自它的 TLS 消息。然后将其作为代理发送。但 secureBlackBox 类不允许我更改数据。)

3- FreeRadius 项目 (www.freeradius.org) 这个项目是用 C 语言编写的,我很难将它转换成 C#。

你能帮我在我的半径数据包中建立 TLS 通道吗?提前感谢您的时间和考虑。

4

2 回答 2

0

您可以免费下载一个名为 nRadius 的 .NET 库。不过我没用过,我只通过 PInvoke 使用过 freeradius。

http://nradius.nw-network.com/web/?page_id=19 http://www.heise.de/download/nradius-1156905.html

于 2014-03-27T14:23:08.513 回答
0

我正在使用 C# 开发一个半径服务器。我认为带有 dotnet 的 sslstream 类不会起作用。除非您将 BIO 开发为解释器并使用 sslstream 类,否则带有 peap 的 radius 在 eap 下工作。只是记录层数据被加密,必须做所有的握手和加密/解密。

我不确定 dtls,但可能也不起作用,因为稍后您将需要握手过程中的一些数据来计算 mppe 密钥等。

于 2018-01-12T19:17:26.103 回答