Android通过BoringSSL对'RSA_generate_key'的未定义引用

我正在尝试生成RSA密钥对,以通过Android上的BoringSSL使用RSA加密。

运行项目时出现错误:error: undefined reference to 'RSA_generate_key'

这是我的目录项目:

Android通过BoringSSL对'RSA_generate_key'的未定义引用

我尝试通过它链接静态库,但仍然出现另一个错误:

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());
}

我已经研究了许多小时,但无法解决我的问题。有解决这个问题的建议吗?

非常感谢!

zsyfk0906 回答:Android通过BoringSSL对'RSA_generate_key'的未定义引用

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3160691.html

大家都在问