openssl之BIO系列之14---源类型的NULL型BIO

原创 2003年01月09日 09:09:00
source/sink型BIO
    ---根据openssl doc/crypto/bio_s_null.pod翻译和自己的理解写成
    
    (作者:DragonKing, Mail: wzhah@263.net ,发布于:httpgdwzh.126.com之openssl专业论坛)
    
    这是一个空的source/sink型BIO,写到这个BIO的数据都被丢掉了,从这里执行读操作也总是返回EOF。该BIO非常简单,其相关函数的定义如下(openssl/bio.h):
     BIO_METHOD * BIO_s_null(void);
    其相关的源文件实现函数在bss_null.c里面。
    【BIO_s_null】
    该函数返回一个NULL型的BIO_METHOD结构,该结构定义如下:
    static BIO_METHOD null_method=
     {
     BIO_TYPE_NULL,
     "NULL",
     null_write,
     null_read,
     null_puts,
     null_gets,
     null_ctrl,
     null_new,
     null_free,
     NULL,
     };
    从结构上看,这个类型的BIO实现了不少的函数,但是,仔细看看源文件,就会发现所有这些函数都只是简单返回0、1或者输入数据的长度,而不作任何事情。熟悉Linux系统的技术人员可能知道,这跟Linux系统的/dev/null设备的行为是一样的。
    一般来说,在openssl里面,这种类型的BIO是置放在BIO链的末尾的,比如在应用程序中,如果你要将一些数据通过filter型的BIO digest进行摘要算法,但不需要把它送往任何地方,又因为一个BIO链要求以source/sink型BIO开始或结束,所以这时候就可以在BIO链的末尾添加一个source/sink型的NUll类型BIO来实现这个功能。
    

Openssl之BIO系列

1.BIO-抽象的IO接口 其实包含了很多种接口,用通用的函数接口,主要控制在BIO_METHOD中的不同实现函数控制,我初步估计了一下,大概有14种,包括4种filter型和10种source...
  • i7thTool
  • i7thTool
  • 2016年03月03日 10:30
  • 2442

【转】 Openssl之BIO系列

1.BIO-抽象的IO接口 其实包含了很多种接口,用通用的函数接口,主要控制在BIO_METHOD中的不同实现函数控制,我初步估计了一下,大概有14种,包括4种filter型和10种so...
  • pur_e
  • pur_e
  • 2016年08月31日 10:39
  • 835

openssl之EVP系列之4---EVP_Encrypt系列函数详解(一)

openssl之EVP系列之4---EVP_Encrypt系列函数详解(一)    ---根据openssl doc/crypto/EVP_EncryptInit.pod和doc/ssleay.txt...
  • gdwzh
  • gdwzh
  • 2003年02月21日 09:09
  • 13691

【OpenSSL】Memory BIO

Test code#include #include #include # include # include # include # include # include # i
  • wuzh1230
  • wuzh1230
  • 2015年04月21日 18:12
  • 969

openssl之BIO系列之22---Cipher类型的BIO

Cipher类型BIO    ---根据openssl doc/crypto/bio_f_cipher.pod翻译和自己的理解写成        (作者:DragonKing, Mail: wzhah...
  • gdwzh
  • gdwzh
  • 2003年01月27日 10:36
  • 1906

openssl框架闲谈--BIO接口

在 OpenSSL中一共有两种类型的BIO,一种是源/目的类型的,另一种是过滤类型的,其实可以统一到一种类型,那就是统一都是过滤类型,这种说法的前提 是一个古老的概念,早在unix时代,人们通常将程序...
  • qeshining
  • qeshining
  • 2015年10月16日 16:22
  • 446

openssl之BIO系列之24---SSL类型的BIO

SSL类型的BIO    ---根据openssl doc/crypto/bio_f_ssl.pod翻译和自己的理解写成        (作者:DragonKing, Mail: wzhah@263....
  • gdwzh
  • gdwzh
  • 2003年02月09日 10:11
  • 4594

openssl之BIO系列之12---文件描述符(fd)类型BIO

文件描述符(fd)类型BIO        ---根据openssl doc/crypto/bio_s_fd.pod翻译和自己的理解写成        (作者:DragonKing Mailwzhah...
  • gdwzh
  • gdwzh
  • 2003年01月07日 09:03
  • 2348

openssl之BIO系列之3---BIO的声明和释放等基本操作

BIO的声明和释放等基本操作     ---根据openssl doc/crypto/bio/bio_new.pod翻译和自己的理解写成          (作者:DragonKing Mail...
  • fryingpan
  • fryingpan
  • 2014年10月22日 10:08
  • 358

openssl之BIO系列之23---MD类型的BIO

MD类型BIO    ---根据openssl doc/crypto/bio_f_md.pod翻译和自己的理解写成        (作者:DragonKing, Mail: wzhah@263.net...
  • gdwzh
  • gdwzh
  • 2003年02月08日 12:03
  • 1729
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:openssl之BIO系列之14---源类型的NULL型BIO
举报原因:
原因补充:

(最多只允许输入30个字)