【发布时间】:2010-04-21 12:22:55
【问题描述】:
Openssl 内存 BIO 接收器的文档是 here。
我正在创建一个 BIO 链来将二进制字符串转换为 base64 字符串。源/接收器始终是一个内存位置,这使我能够保持相同的链环绕。但是,当我写入数据时,数据(应该)进入由 OpenSSL 管理的内存缓冲区,并且当从链中读取时,它应该来自用户提供的内存缓冲区。
BIO_set_mem_buf() 是用于设置用户提供的缓冲区的函数,我将在使用 new 管理内存时设置 BIO_NOCLOSE 属性。现在,为了使用相同的链进行写入,我需要将内存 bio 更改为管理自己的内存。我的问题是: “在用户提供自定义缓冲区后,BIO_reset() 是否会将其改回管理自己的内存?对于我想做的事情使用单链是否有任何性能影响?”
【问题讨论】:
标签: c++ formatting openssl