保护 UDP - OpenSSL 或 GnuTls 或...?

2024-01-01

我需要保护我的 UDP 流量。据我了解,DTLS 协议是最好的方法。还有另一种 - IPsec - 但它看起来不适合我,因为它不容易使用并且可能存在硬件问题。

我发现有些库实现了 DTLS。所以现在我正在尝试选择 - OpenSSL 还是 GnuTls?你能建议我用什么更好吗?有什么缺点或优点?或者可能有另一个库实现了 DTLS 支持?


我发现了以下有关库和 DTLS 的事实。

  1. 还有另一个支持 DTLS 的库 - CyaSSL,但目前仅在测试模式下支持 DTLS。

  2. 尽管 RFC 4347 的日期是 2006 年 4 月,但 OpenSSL 自 2005 年 (v0.9.8) 起就支持 DTLS。许多 Linux 发行版都包含此版本。 OpenSSL API 看起来有点难看,但 DTLS 实现似乎很稳定。

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

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

  5. 已知的 OpenSSL 问题:OpenSSL 默认情况下为 DTLS 启用压缩,但实际上不应该启用。 OpenSSL v0.9.8 API 不提供任何禁用压缩的方法。该方法应手动实施。

SUMMARY:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护 UDP - OpenSSL 或 GnuTls 或...? 的相关文章

随机推荐