openssl之BIO系列之1---抽象的IO接口

本文介绍了OpenSSL中的BIO,它是一个抽象的IO接口,能够覆盖多种类型的I/O操作。BIO分为source/sink型和filter型,前者作为数据源或目标,后者用于数据转换。BIO可以通过链接形成BIO链,数据在链中经过不同BIO处理。BIO结构体包含了上下环节的指针,用于构建BIO链。作者计划进一步分享BIO的详细信息。
摘要由CSDN通过智能技术生成
BIO-抽象的IO接口
    
    (作者:DragonKing Mail:wzhah@263.net 发布于:http://gdwzh.126.com openssl专业论坛)
    
    
    其实包含了很多种接口,用通用的函数接口,主要控制在BIO_METHOD中的不通实现函数控制,
    我初步估计了一下,大概有14种,包括6种filter型和8种source/sink型。
    
    BIO是在底层覆盖了许多类型I/O接口细节的一种应用接口,如果你在程序中使用BIO,那么就可以和SSL连接、非加密的网络连接以及文件IO进行透明的连接。
    有两种不通的BIO接口,一种是source/sink型,一种是fileter型的。
    顾名思义,source/sink类型的BIO是数据源或数据目标(我不知道sink该怎么翻译,据水木liaojzh说,一般是destination(目标、宿)的同义词,大家自己理解吧,呵呵),例如,sokect BIO和文件BIO。
    而filter BIO就是把数据从一个BIO转换到另外一个BIO或应用接口,在转换过程中,这些数据可以不修改(如信息摘要BIO),也可以进行转换。例如在加密BIO中,如果写操作,数据就会被加密,如果是读操作,数据就会被解密。
    
    BIO可以连接在一起成为一个BIO链(单个的BIO就是一个环节的BIO链的特例),如下是BIO的结构定义,可以看到它有上下环节的:
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值