boost::asio
ライブラリは、boost::asio::ssl::stream
デコレータクラステンプレートでソケットオブジェクトをラップすることにより、ソケット上でSSL暗号化されたトラフィックをサポートします。たとえば:tcp::socket
のboost :: asio :: ssl :: stream :: next_layer()を読み書きすると、SSLの復号化/暗号化をバイパスできますか?
boost::asio::ssl::stream<boost::asio::ip::tcp::socket> sslSocket;
一部の操作はssl::stream
によってサポートされていません。 ssl::stream::next_layer
メソッドを呼び出すと、ラップされたオブジェクトへの参照が返され、この方法はssl::stream
でサポートされていないため、ラップされたオブジェクトに対して直接操作を実行できます。
ラップされたソケットオブジェクトに直接読み書き操作を実行すると、SSLの復号化と暗号化をバイパスし、正しいSSLの動作のためにはsslSocket
の読み取りと書き込みは、ssl::stream
オブジェクトの上に直接実行する必要があります。
この権利はありますか、ラップされたオブジェクトに対して自由に読み書き操作を実行できますか?