我想创建一个支持PEAP (类型25 - PEAP与EAP-TLS )的radius服务器,我有足够的信息,知道有关Radius数据包和PEAP数据包格式( RFC 2865 radius)的每件事,我的项目中唯一困难的部分是EAP数据包中的TLS消息。根据RFC2246(TLS1.0),我需要一些工具来帮助我创建PEAP协议的第一阶段。在PEAP阶段1中,建立TLS通道(内部radius分组和内部EAP消息属性- UDP )。阶段2中的其他数据通过该tls通道发送。由于PEAP分两个阶段完成,所以第一阶段是我的主要问题,因为工具对我没有帮助:
1- System.Net.Security.SslStream类。(这在TCP上工作,而radius在UDP上工作)。
2- secureBlackbox DTLS类。(这是一个高级DLL,不允许我在TLS握手过程之前更改数据。因为接收的数据是radius分组,所以需要在TLS协议的任何处理之前对从客户端接收的数据进行编辑。首先,我必须从其中提取TLS消息。然后将其作为代理发送。但是secureBlackBox类不允许我更改数据。)
3- FreeRadius项目( www.freeradius.org )这个项目是用C语言写的,我很难把它转换成C#。
您能帮我在我的radius包中建立TLS通道吗?提前感谢您的时间和考虑。
发布于 2014-03-27 22:23:09
您可以免费下载一个名为nRadius的.NET库。我还没有用过它,我只通过PInvoke使用过freeradius。
http://nradius.nw-network.com/web/?page_id=19 http://www.heise.de/download/nradius-1156905.html
发布于 2018-01-13 03:17:26
我正在使用C#开发一个radius服务器。我不认为带有dotnet的sslstream类会工作。除非您开发一个BIO作为解释器并使用sslstream类,否则radius和peap将在eap下工作。只有记录层数据是加密的,必须进行所有的握手和加密/解密。
我不确定dtls,但可能也不起作用,因为稍后您将需要来自握手过程的一些数据来计算mppe密钥等。
https://stackoverflow.com/questions/21112234
复制相似问题