2013-10-02 4 views
2

Я пытаюсь использовать библиотеку openSSL для декодирования Base64, а затем использовать CMS для проверки подписи.OpenSSL Base64 декодирование

Ниже код всегда печатает буфер как 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); 

ответ

3

Добавить BIO_set_flags (B64, BIO_FLAGS_BASE64_NO_NL) после BIO_new() вызов сказать OpenSSL, что все входные появляется в одной строке без перевода строки.

Смежные вопросы