【发布时间】:2012-11-23 04:10:48
【问题描述】:
我正在尝试使用套接字实现安全的网络/客户端通信。我很难找到有关如何执行此操作的信息。似乎唯一存在的就是 OpenSSL,但该库似乎使用起来非常复杂。
是否有更容易使用且安全的库?如果不是,那么什么是开始安全编程的好文档。
【问题讨论】:
-
套接字之间的通信可能会被监控,但需要一种加密数据的方法,以免被外部代理恶意使用。
标签: c++ security networking
我正在尝试使用套接字实现安全的网络/客户端通信。我很难找到有关如何执行此操作的信息。似乎唯一存在的就是 OpenSSL,但该库似乎使用起来非常复杂。
是否有更容易使用且安全的库?如果不是,那么什么是开始安全编程的好文档。
【问题讨论】:
标签: c++ security networking
对于加密,存在多个库。如果您没有说 OpenSSL 很复杂,那么我强烈建议您使用 OpenSSL。但是现在就您而言,我建议您尝试
@ 987654321@
它的 API 风格和编程范式需要一点时间来适应,但最终你会喜欢它。它提供了广泛的对称和非对称算法,具有很大的灵活性。您可以找到高级概述和示例代码。它是一个易于集成到项目中的库。它可以跨多个平台移植。
LibTomCrypt
TomCrypt 是轻量级和简单的。至于质量,TomCrypt 被广泛接受为顶级加密。此外,它的许可证是公共领域的,这避免了在编写商业软件时 BSD 许可证给您带来的文档归属麻烦。
Crypto++
也是一个非常有名的图书馆
也看看这些图书馆
google's KeyCZar 、botan 和 Capicom。
希望这个答案对你有所帮助 :)
【讨论】:
Boost.Asio 抽象了一些 OpenSSL 底层函数:examples
请记住,您必须小心,并且很容易认为您拥有一个安全的系统,而实际上您并没有。仅使用 OpenSSL 并不能保证安全性。需要正确使用。
The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software
【讨论】: