【问题标题】:Secure Network Programming using C++/C使用 C++/C 进行安全网络编程
【发布时间】:2012-11-23 04:10:48
【问题描述】:

我正在尝试使用套接字实现安全的网络/客户端通信。我很难找到有关如何执行此操作的信息。似乎唯一存在的就是 OpenSSL,但该库似乎使用起来非常复杂。

是否有更容易使用且安全的库?如果不是,那么什么是开始安全编程的好文档。

【问题讨论】:

标签: c++ security networking


【解决方案1】:

对于加密,存在多个库。如果您没有说 OpenSSL 很复杂,那么我强烈建议您使用 OpenSSL。但是现在就您而言,我建议您尝试

@ 987654321@
它的 API 风格和编程范式需要一点时间来适应,但最终你会喜欢它。它提供了广泛的对称和非对称算法,具有很大的灵活性。您可以找到高级概述和示例代码。它是一个易于集成到项目中的库。它可以跨多个平台移植。

LibTomCrypt
TomCrypt 是轻量级和简单的。至于质量,TomCrypt 被广泛接受为顶级加密。此外,它的许可证是公共领域的,这避免了在编写商业软件时 BSD 许可证给您带来的文档归属麻烦。

Crypto++
也是一个非常有名的图书馆

也看看这些图书馆 google's KeyCZarbotanCapicom
希望这个答案对你有所帮助 :)

【讨论】:

  • 我想知道您是否有任何关于这些库的稳定性和测试性的资料?
  • 其实不可能有人用过所有这些然后建议。通过搜索论坛和其他人的观点,我发现这些是关于OP需要的一些很好的资源
  • 好的,我只是想你可能已经看到了一些推荐。
  • CryptoPP 和 Crypto++ 是一回事。 (并且在您对同一网站的回答中)您的 LibTomCryp 没有去正确的地方;它应该去libtom.org/?page=features&newsitems=5&whatfile=crypt
【解决方案2】:

Boost.Asio 抽象了一些 OpenSSL 底层函数:examples

请记住,您必须小心,并且很容易认为您拥有一个安全的系统,而实际上您并没有。仅使用 OpenSSL 并不能保证安全性。需要正确使用。

The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software

【讨论】:

    猜你喜欢
    • 2013-11-03
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多