c++ - SSL 与加密套接字

标签 c++ sockets encryption openssl

我正在构建一个开源客户端/服务器应用程序,我不确定要使用什么,SSL(例如 OpenSSL)或通过普通套接字加密的数据包。

我想我有几个问题:

  • 在普通套接字上使用加密数据包是否有任何安全隐患?

  • 是否有任何“建议”设置?我知道 OpenSSL 有大约 1/2 百万行代码并且有很多安全问题。

  • (Open)SSL 是否提供了 a) 有益或 b) 有害的功能。

希望这个问题的结构能够通过版主 :)

最佳答案

Is there any security implications using encrypted packets over plain sockets?

如果操作正确则不会。顺便说一句,SSL/TLS 是通过普通套接字加密的数据包。

Is there any 'suggested' setups? I know for a fact that OpenSSL has something like 1/2 million lines of code and had a lot of security issues.

建议的设置是使用已知良好的代码和算法。在任何情况下,您都不应发明自己的东西,尤其是在您对该主题了解不多的情况下。

Is there any features that (Open)SSL give me that would a) beneficial or b) detrimental.

SSL/TLS 标准可能为您提供了所需的一切。实现过去有问题,将来也可能有问题。您可能会看看 LibreSSL,它是 OpenSSL 的一个分支,其中包含许多繁琐和不必要的功能,并且还删除了一些薄弱的安全性。 NSS 看起来也像一个可靠的库,与 OpenSSL、GnuTLS、SChannel 和 SecureTransport 相比,它在过去几乎没有严重的问题。

但请注意,SSL/TLS 和其他加密并不简单,在将其用于正式代码之前,您应该熟悉其中的概念和陷阱。

关于c++ - SSL 与加密套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31303311/

相关文章:

c++ - C++ 中的原子性 : Myth or Reality

iOS:将 iOS 应用程序屏幕转换为网络数据包

ssl - 如何在 Windows 上找到主 key 和 session ID 以使用 wireshark 解密 SSl/TLS 流量?

c# - 如何在.Net中使用SQLCipher

c++ - 从文本文件中读取特定条目

java - OpenGL 正确附加纹理

windows - 套接字泄漏在netstat和tcpview中未显示的Windows中

c++ - Windows Phone 8.1 是否支持 select() 套接字函数?

ios 生成应用程序特定 key

c++ - 统一码灾难! Ms-Access 97 迁移到 Ms-Access 2007