c - openssl api函数参考问题

原文 标签 c openssl cryptography signature elliptic-curve

我正在尝试生成和播放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加密库中:

gcc -g -Wall -Wextra -o key_gen key_gen.c -lcrypto

相关文章:

c++ - 如何在Mac OSX上的Qt中使用pkcs12 / pfx执行成功的SSL加密?

linux - 当使用openssl时,如何隐藏键,盐和iv而不显示在进程标题中?

php - 如何使PHP和IOS Iphone一起进行加密?

java - Java Android,解码AES-256时出错

c - 有符号位字段至少需要两位

c - 为什么工会和内部结构增加填充?

c++ - libao在窗口中编译[关闭]

linux - 将cer转换为pem时OpenSSL编码错误

java - Java:如何从.asc文件创建java.security.Key?

c - 客户端应用程序置于STOPPED状态后,为什么服务器要等待客户端?