OpenSSLを使用した暗号化されたC++ストリームの適切な実装を知っている人はいますか?std::istreamとstd::ostreamを拡張またはラップするものはありますか?
これはブースト(ストリームのフィルタリング)で実行できることは知っていますが、そのためだけにブーストを含めたくありません。ブースト以外の提案はありますか?
Boost ライブラリは SSL ストリームを提供します。
http://www.boost.org/doc/libs/1_47_0/boost/asio/ssl/stream.hpp
自分でやりたい場合:
TCP または SSL で使用するための std::streambuf のサブクラス (ソケットが開かれると、基本的に同じように動作します。その後、その streambuf を使用して std::istream および std::ostream を作成できます。std::iostream が必要ない場合、入力用と出力用の 2 つの streambuf を作成できます。
std::streambuf ドキュメント (主にオーバーフローとアンダーフローに焦点を当てています): http://www.cplusplus.com/reference/streambuf/streambuf/
また、libssl を直接使用する方法に関する簡単なチュートリアルもあります。
http://www.ibm.com/developerworks/linux/library/l-openssl/index.html
std::istream と std::ostream を使用した次の実装に出くわしました。
http://openssl.6102.n7.nabble.com/EVP-Decrypt-Final-ex-fails-on-larger-files-td2434.html
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