openssl api 函数参考问题
openssl api funtion reference issue
我正在尝试生成并使用 openssl 椭圆曲线。 运行 这个:来自文档
EC_GROUP *curve;
if(NULL == (curve = EC_GROUP_new_by_curve_name(NID_secp224r1)))
handleErrors();
EC_KEY *key;
if(NULL == (key = EC_KEY_new_by_curve_name(NID_secp224r1)))
handleErrors();
if(1 != EC_KEY_generate_key(key)) handleErrors();
这些包括:
#include <openssl/obj_mac.h>
#include <openssl/ec.h>
#include <openssl/bn.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
我查看了 ec.h 文件,其中包含我正在调用的函数。我的错误是:
key_gen.c:(.text+0x15): undefined reference to `EC_GROUP_new_by_curve_name'
key_gen.c:(.text+0x2a): undefined reference to `handleErrors'
key_gen.c:(.text+0x34): undefined reference to `EC_KEY_new_by_curve_name'
key_gen.c:(.text+0x49): undefined reference to `handleErrors'
key_gen.c:(.text+0x55): undefined reference to `EC_KEY_generate_key'
key_gen.c:(.text+0x64): undefined reference to `handleErrors'
我需要更多的内容吗?
编译时需要在OpenSSL加密库中link:
gcc -g -Wall -Wextra -o key_gen key_gen.c -lcrypto
您需要定义handleErrors();你自己。
我正在尝试生成并使用 openssl 椭圆曲线。 运行 这个:来自文档
EC_GROUP *curve;
if(NULL == (curve = EC_GROUP_new_by_curve_name(NID_secp224r1)))
handleErrors();
EC_KEY *key;
if(NULL == (key = EC_KEY_new_by_curve_name(NID_secp224r1)))
handleErrors();
if(1 != EC_KEY_generate_key(key)) handleErrors();
这些包括:
#include <openssl/obj_mac.h>
#include <openssl/ec.h>
#include <openssl/bn.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
我查看了 ec.h 文件,其中包含我正在调用的函数。我的错误是:
key_gen.c:(.text+0x15): undefined reference to `EC_GROUP_new_by_curve_name'
key_gen.c:(.text+0x2a): undefined reference to `handleErrors'
key_gen.c:(.text+0x34): undefined reference to `EC_KEY_new_by_curve_name'
key_gen.c:(.text+0x49): undefined reference to `handleErrors'
key_gen.c:(.text+0x55): undefined reference to `EC_KEY_generate_key'
key_gen.c:(.text+0x64): undefined reference to `handleErrors'
我需要更多的内容吗?
编译时需要在OpenSSL加密库中link:
gcc -g -Wall -Wextra -o key_gen key_gen.c -lcrypto
您需要定义handleErrors();你自己。