質問

OpenSSLのBIOペアとは正確にどのようなもので、どのように使用するつもりですか? OpenSSLのドキュメントはすでに確認しましたが、詳細はほとんどありません。

役に立ちましたか?

解決

OpenSSLのBIOは、ファイルハンドルに似ています。 2つのソケットを使用する場合と同様に、それらのペアを使用して相互に安全に通信します。私が見つけた最良の説明はこちら

また、数か月前に Herong Yangのサイトから多くの利用を得ました。 OpenSSLを使用してアプリケーションを作成する必要がありました。 OpenSSLとkeytoolを使用した証明書の作成と署名に関するセクションは、アプリケーションのテストに関して大きな助けとなりました。

他のヒント

BIOペアは、互いにバインドされた2つのソース/シンクBIOです。一方に書き込まれたものはすべて、他方から読み取ることができます。すでに2つのBIOSがある場合は、BIO_make_bio_pairを使用してそれらを結合できます。または、BIO_new_bio_pairを使用して新しいBIOペアを作成できます。

「OpenSSLを使用したネットワークセキュリティ」(111ページを参照)で言及されている1つの使用法は、ペアをSSLエンジンにバインドできることです。 BIOペアに書き込まれたものはすべて、SSLエンジンによって読み取られます。 BIOペアに書き込まれたものはすべて読み取ることができます。 OpenSSLにはこのサンプルがあります(ssl / ssltest.cを参照)

OpenSSLについて学ぶ最善の方法は、「 OpenSSLによるネットワークセキュリティ」を読むことです。 John Viega、Matt MessierおよびPravir Chandra、ISBN 059600270X。サンプルコードでBIOペアを作成して使用する方法についてのセクションがあります。

ドキュメンテーションの努力の中で、openssl Foundationはもちろん改善できるコミュニティwikiを維持しています。 BIOはここでカバーされています: http://wiki.openssl.org/index.php/BIO

OpenSSL BIOに関する一般的な回答の一部として、OpenSSL BIOペアについて書きました:

  

「バイオ」 BIO( BIO_s_bio )。パイプのような生物です。このようなBIOのペアを作成できます。ペアの1つのBIOに書き込まれたデータは、ペアの2番目のBIOに読み取られるように配置されます。およびその逆。これはメモリBIOに似ていますが、メモリBIOは自身にデータを配置し、パイプBIOはペアになっているBIOにデータを配置します。

また、こちら

  

しかし、さらにパイプのような機能を持つ BIO_s_bio と呼ばれるBIOがあります。このようなBIOのペアを作成できます。 BIO_s_bio オブジェクトのペアの最初のBIOに書き込まれたデータは、ペアの2番目のBIOから読み取られます。逆も同様です。2番目のBIOにデータを書き込むと、最初のBIOからこのデータが読み取られます。したがって、 BIO_s_mem の代わりに BIO_s_bio を使用できます。 BIO_s_bio オブジェクトの単一のインスタンスを SSL_set_bio 関数に渡すだけで十分です。アプリケーションはデータを受信し、 BIO_s_bio ペアでBIOに書き込みます。 OpenSSLは、ペアのBIOからこのデータを取得します。 OpenSSLはペアのBIOにデータを書き込み、アプリケーションはこのデータをBIOから順番に取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top