9

有谁知道使用OpenSSL加密C++流的良好实现?扩展或包装std::istreamstd::ostream的东西?

我知道这可以通过 boost(过滤流)来完成,但我不想仅仅为此包括 boost。任何非提升建议?

4

3 回答 3

2

Boost 库提供 ssl 流:

http://www.boost.org/doc/libs/1_47_0/boost/asio/ssl/stream.hpp

SO ref :使用 Boost.Asio 和 OpenSSL 的 HTTPS 请求

于 2013-03-10T13:35:57.460 回答
1

我遇到了以下使用 std::istream 和 std::ostream 的实现。

  1. AES CTR 模式加密/解密

http://openssl.6102.n7.nabble.com/EVP-Decrypt-Final-ex-fails-on-larger-files-td2434.html

  1. 河豚

http://openssl.6102.n7.nabble.com/EVP-Decrypt-Final-ex-fails-on-larger-files-td2434.html

此外,您还可以在这里查看:

http://www.appinf.com/docs/poco/Poco.Crypto.RSAKeyImpl.html

和这里:

https://dev.marc.waeckerlin.org/projects/libpcscxx/browser/trunk/src/openssl.hxx?rev=60

于 2013-03-08T01:44:54.927 回答
1

如果你想自己做:

子类 std::streambuf 用于 TCP 或 SSL(一旦套接字打开,它们基本上工作相同。然后您可以使用该 streambuf 制作 std::istream 和 std::ostream。如果您不想要 std::iostream ,您可以制作两个流缓冲区,一个用于输入,一个用于输出。

std::streambuf 文档(主要只关注溢出和下溢):http ://www.cplusplus.com/reference/streambuf/streambuf/

还有一个关于如何直接使用 libssl 的小教程。

http://www.ibm.com/developerworks/linux/library/l-openssl/index.html

于 2013-03-13T15:01:57.250 回答