ファイルに文字列を書き込む場合は、BIO_new_file()でファイル用データシンクBIOを作成した。
メモリに文字列を書き込んでいく場合は、BIO_new()にBIO_s_mem()を渡すことで、メモリ用データシンクBIOを作成する。
/docs/man1.0.2/crypto/BIO_s_mem.html
BIO_s_mem.cに、
と書く。
BIO_writeでmemに"ABCDE"を書いて、BIO_flushでフラッシュ。
その後、memに"XYZ"を書いて、またフラッシュ。
BIO_readで読み込んでbufに格納、それをprintfで出力。
$ vi BIO_s_mem.c $ gcc -o BIO_s_mem BIO_s_mem.c -lcrypto $ ./BIO_s_mem buf = ABCDEXYZ $
memに"ABCDEXYZ"が書き込まれていたことがわかる。
Sample/openssl/BIO_s_mem/BIO_s_mem/src/BIO_s_mem at master · bg1bgst333/Sample · GitHub