题
到底是什么OpenSSL中一对BIO,以及它是如何旨在用于?我已经检查了OpenSSL的文档,但是任何细节都寥寥可数。
其他提示
一个BIO对是被结合在一起的两个源/汇的BIOS。写入到一个什么都可以从其他的读取。如果你有两个BIOS已经,您可以使用BIO_make_bio_pair它们连接在一起。或者你可以创建一个新的BIO对与BIO_new_bio_pair。
在网络安全与OpenSSL的书(见111页)中提到的一个用途是,对可被绑定到SSL引擎。写入BIO对任何将通过SSL引擎读取。写入BIO对任何东西都可以被读取。 OpenSSL的具有这样的样品(参见SSL / ssltest.c)
我发现,了解的OpenSSL是读“网络安全使用OpenSSL ”由约翰·维加,马特·梅西耶和Pravir钱德拉,ISBN 059600270X的最佳途径。它们对如何创建和使用BIO对与样本代码的整体部分。
在文档的OpenSSL基础的努力维持社区维基,当然可以提高。 BIO这里覆盖: http://wiki.openssl.org/index.php/BIO一>。
我已经写的OpenSSL BIO对作为约OpenSSL的BIOS 的一般的答案:
一个 “生物” BIO(
BIO_s_bio
)。这是一个管状的BIO。一对这样的BIOS可以被创建。在一对写入一个BIO数据将被放置用于读取到该对中的第二BIO。反之亦然。它类似于存储器BIO,但存储器BIO地方数据本身和管BIO地方数据到它与配对的BIO。
和也此处 :
但是除了存在BIO称为
BIO_s_bio
其具有的管相同的功能。一对这样的BIOS可以被创建。写入到所述一对BIO_s_bio
对象的第一生物的任何数据将从该对中的第二BIO读取。反之亦然:将数据写入到第二BIO将导致从第一BIO读这个数据。所以BIO_s_bio
可以用来代替BIO_s_mem
。传递BIO_s_bio
对象的单个实例的SSL_set_bio
功能就足够了。应用程序接收数据,并将其写入其在BIO_s_bio
对BIO。那么OpenSSL的将其在对BIO得到这个数据。 OpenSSL的在一对将数据写入其BIO,并且应用从它反过来BIO获取该数据。