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