我想在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对于定义了'BIO_f_base64()‘的过时函数,BoringSSl包含一个单独的目录。我该如何使用这个?
发布于 2019-07-25 03:22:03
对我来说,在构建中包含src/decrepit/bio/base64_bio.c就足够了。
注意:我不会保证使用除默认BoringSSL构建之外的任何其他构建的安全性:)
https://stackoverflow.com/questions/56057265
复制相似问题