Base64 デコードに openSSL ライブラリを使用し、続いて CMS を使用して署名を検証しようとしています。
以下のコードは、常にバッファーを NULL として出力します。
char signed_data[] = "MIIO";
int signed_data_length = sizeof(signed_data);
BIO *b64, *bmem;
char *buffer = (char *)malloc(signed_data_length);
memset(buffer, 0, signed_data_length);
b64 = BIO_new(BIO_f_base64());
bmem = BIO_new_mem_buf(signed_data, signed_data_length);
bmem = BIO_push(b64, bmem);
BIO_read(bmem, buffer, signed_data_length);
printf("%s", buffer);