BIO_push

BIO_pushでBIOチェインを連結する。

/docs/man1.1.0/crypto/BIO_push.html
BIOとBase64

BIO_push.cを作成し、

BIO_pushでbufferとfileを連結する。
その後、BIO_writeでbufferに"ABCDE"を書き込み、BIO_flushでフラッシュすると、test.txtに書き込まれる。

$ vi BIO_push.c 
$ gcc -o BIO_push BIO_push.c -lcrypto
$ ./BIO_push 
file = 008a9240
buffer = 008a98c0
$ ls
BIO_push  BIO_push.c  test.txt
$ cat test.txt 
ABCDE$

このように、BIOを連結してデータを渡していく。

Sample/openssl/BIO_push/BIO_push/src/BIO_push at master · bg1bgst333/Sample · GitHub