Linux 保护UDP-OpenSSL或GnuTls或。。。?

Linux 保护UDP-OpenSSL或GnuTls或。。。?,linux,security,udp,openssl,Linux,Security,Udp,Openssl,我需要保护我的UDP通信。据我所知,DTLS协议是最好的方法。还有另一个-IPsec-但它看起来不适用于我,因为它不容易使用,并且可能存在硬件问题 我发现有些库已经实现了DTL。所以现在我要选择OpenSSL还是GnuTls?你能告诉我什么更好用吗?缺点或优点是什么?或者可能存在另一个实现了DTLS支持的库 谢谢。IPsec是最古老的,因此也是最兼容、最稳定的,但需要系统管理员执行任务,对新手来说可能非常具有挑战性。DTLS从应用程序方面解决了这个问题,程序员可以用较少的更改大大简化和集成现有环

我需要保护我的UDP通信。据我所知,DTLS协议是最好的方法。还有另一个-IPsec-但它看起来不适用于我,因为它不容易使用,并且可能存在硬件问题

我发现有些库已经实现了DTL。所以现在我要选择OpenSSL还是GnuTls?你能告诉我什么更好用吗?缺点或优点是什么?或者可能存在另一个实现了DTLS支持的库


谢谢。

IPsec是最古老的,因此也是最兼容、最稳定的,但需要系统管理员执行任务,对新手来说可能非常具有挑战性。DTLS从应用程序方面解决了这个问题,程序员可以用较少的更改大大简化和集成现有环境

OpenSSL和GnuTLS之间的选择几乎总是取决于许可证

OpenSSL许可证包含一个广告条款:

三,。所有提及此功能或使用的广告材料* 软件必须显示以下确认信息:*“此 该产品包括由OpenSSL项目*为 在OpenSSL工具包中使用。()

维基百科的GnuTLS:

最初创建GnuTLS是为了允许应用GNU项目 使用安全协议,如TLS。虽然OpenSSL已经存在, OpenSSL的许可证与GPL不兼容;[4] 因此,软件 在GPL下,如GNU软件,如果没有 生成GPL链接异常


关于库和DTL,我发现了以下事实

  • 还有另一个支持DTLS的库——CyaSSL,但目前它仅在测试模式下支持DTLS

  • 尽管RFC4347可以追溯到2006年4月,但OpenSSL自2005年起就支持DTL(v0.9.8)。许多Linux发行版都包含此版本。OpenSSL API看起来有点难看,但DTLS实现似乎是稳定的

  • GnuTls自2011年(v3.0.0)起就支持DTL。看起来还没有Linux包含这个版本。(例如,Ubuntu11.04使用v2.8.6,Ubuntu11.10将使用v2.10.5,而不是v3.0.0。)没有关于何时使用v3.0的信息。它可以手动构建,但是它依赖于太多的附加库,这些库在某些发行版中可能没有本机支持

  • 看起来所有这些库都可以在其他平台(如Windows)上使用

  • 已知的OpenSSL问题:OpenSSL默认为DTL启用了压缩,但不应该启用。OpenSSL v0.9.8 API未提供任何禁用压缩的方法。该方法应手动实现

  • 总结:


    说到可用性,我个人更喜欢GnuTls API,但当时OpenSSL看起来更适合使用。

    你的目标是什么平台/语言/开发工具?@Eugene Mayevski我现在使用C/GCC/Linux,可能以后使用Windows。openldap的许多人对GnuTls有问题,他们建议使用OpenSSL。您可以查看此链接了解更多关于安全性的信息,我相信OpenSSL的记录很差,GNUtls也不那么差。谢谢您的回答。您知道RFC 4347合规性、平台兼容性或特定错误方面的任何问题吗?请不要忘记检查许可证,并确保您使用的许可证适用于您。