1

我想在android中使用boringssl将AES128加密文本转换为base64编码。我正在使用像“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()”。我该如何使用它?

4

1 回答 1

0

对我来说,包含src/decrepit/bio/base64_bio.c在构建中就足够了。

注意:我不会保证使用默认 BoringSSL 构建以外的任何东西的安全性:)

于 2019-07-24T19:22:02.573 回答