Android не определена ссылка на «RSA_generate_key» с BoringSSL - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь сгенерировать пару ключей RSA для использования шифрования RSA BoringSSL на Android.

У меня ошибка: error: undefined reference to 'RSA_generate_key' при запуске проекта.

Это мойКаталог проекта: enter image description here

Я пытаюсь связать статическую библиотеку этим, но все же получаю еще одну ошибку:

add_library(crypto STATIC IMPORTED)
set_property(TARGET crypto PROPERTY IMPORTED_LOCATION ../../../../boringssl/lib/libcrypto_x86.a)
target_link_libraries(crypto)
include_directories(../../../../boringssl/include)

Это файл cpp:

#include <jni.h>
#include <string>
#include <android/log.h>
#include <openssl/rsa.h>
#include <openssl/base.h>

#define KEY_LENGTH       515
#define PUBLIC_EXPONENT  59     //Public exponent should be a prime number.
#define PUBLIC_KEY_PEM   1
#define PRIVATE_KEY_PEM  0

extern "C" JNIEXPORT jstring JNICALL
Java_sinhpn_testt_myapplication1_MainActivity_stringFromJNI(
        JNIEnv *env,
        jobject /* this */) {
    std::string hello = "Hello from C++";
    __android_log_print(ANDROID_LOG_INFO, "Sinhpn", "--->>>> Hello World!");
//    char public_key_pem[KEY_LENGTH]  = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIy2PKth95GlY6m2FFQ5ExdQwY2FVm/eSKCyv0in+CnV+WEHZkqBTX/XAzvmum6FLi2zhmwFUXqx0Zn4powd1AcCAwEAAQ==";
    RSA *keyPair = RSA_generate_key(KEY_LENGTH, PUBLIC_EXPONENT, NULL, NULL);
    return env->NewStringUTF(hello.c_str());
}

Я исследовался много часов, но не смог решить мою проблему. Есть какие-либо предложения, чтобы решить эту проблему?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...