Как использовать устаревшие функции в скучном SSL? - PullRequest
0 голосов
/ 09 мая 2019

Я хотел бы преобразовать зашифрованный текст AES128 в кодировку base64, используя boringssl в Android. Я использую такие функции, как "BIO_new (BIO_f_base64 ());" чтобы сделать это. Процесс компиляции завершается неудачно, говоря неопределенную ссылку на BIO_f_base64 ().

При дальнейшей отладке я обнаружил, что хотя это работает с openssl, оно не будет работать с boringssl, так как функция устарела.

Ниже приведен фрагмент кода, показывающий кодировку base64 (это прекрасно работает с openssl):

BIO *bio, *b64;
BUF_MEM *bufferPtr;

b64 = BIO_new(BIO_f_base64());
bio = BIO_new(BIO_s_mem());
bio = BIO_push(b64, bio);

BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL); 
BIO_write(bio, buffer, length);
BIO_flush(bio);
BIO_get_mem_ptr(bio, &bufferPtr);
BIO_set_close(bio, BIO_NOCLOSE);
BIO_free_all(bio);

*b64text=(*bufferPtr).data;

return (0); //success

BoringSSl содержит отдельный каталог для устаревших функций, в котором определено BIO_f_base64 (). Как я могу использовать это?

...