我必须使用OpenSSL保护现有的套接字客户端连接,以替换connect
,send
,receive
,close
函数。
但我对使用 SSL 和 BIO 功能感到不太满意。
我知道有一些问题here和here,但我仍然不清楚它们之间的确切区别。
谁能帮我理解它们之间的确切关系(1)?
OpenSSL documentation始终将 BIO 称为基础结构,但没有关于此主题的进一步说明。
据我了解,拨打SSL_write
的任何电话也会写入 BIO ,可以处理或不处理。
执行BIO_write
或SSL_write
将数据发送到套接字(2)有什么不同吗?
如果不是,在我的情况下(3)使用 BIO 功能有什么好处?有没有(4)?
我在SSL客户端here和here上找到了一些有用的示例。
第一个混淆使用 BIO 和 SSL 功能,例如使用SSL_do_handshake
代替BIO_do_handshake
。那好吗(5)?
由于 BIO 是 SSL 功能的基础,我是否应该避免使用它(6)?