2

現在、いくつかの OpenSSL プログラミングを行っています。OpenSSL BIO を作成し、基本的にリモート サーバーへの SSL 接続を開始してから、その接続を別のプロセスに渡す必要があります。私が現在これを行うことを計画している方法は、BIO 構造体に含まれる多数のポインターを逆参照する必要があるため、BIO 構造体を単に「キャスト」できないため、BIO をメモリ バッファーに「パッケージ化」し、それをソケット経由で送信することです。 BIO を char * に変換して送信します。これを行う簡単な方法があるかどうかは誰にも分かりますか? メモリ BIO があることがわかりましたが、いくつかの調査を行った後、それらが必要なものであるかどうかはまだ不明です...

ありがとう

4

1 に答える 1

0

新しく作成された SSL ソケットを別のワーカー プロセスに渡す代わりに、そのプロセスに対して通常のソケット ペアを開くようにソリューションを再設計する方がはるかに簡単です。次に、SSL プロセスは、ソケットからワーカーと SSL ソケットの間でデータを渡すプロキシとして機能します。ある程度の並列性を得るために、SSL プロセスで複数のスレッドを使用できます。

SSL ソケットを別のプロセスに転送するパスを実際に使用する場合は、SSL 状態全体を転送して、暗号化と復号化の状態がワーカー プロセスで適切に初期化されるようにする必要があります。これは、SSL_SESSION を転送するだけでなく、SSL コンテキストのどの部分を転送する必要があるかを理解する必要があることを意味します。

于 2012-07-02T19:02:39.937 に答える