向Openssl

时间:2015-08-31 08:08:36

标签: c openssl segmentation-fault

我尝试在Openssl中为新定义的引擎添加新的摘要算法。我已将新的nids添加到文件crypto/objects/obj_mac.num

simple_cipher           920
id_simple_cipher                921

并将此行添加到crypto/objects/object.txt

!Cname id-simple_cipher
cryptopro 100           : simple_cipher                 : SIMPLE 28147-89

这到lvalues数组:

0x2A,0x85,0x03,0x02,0x02,0x64,               /* [5973] OBJ_id_simple_cipher */

当我编译Openssl时,以下行被添加到文件crypto/objects/obj_mac.h

#define SN_id_simple_cipher             "simple_cipher"
#define LN_id_simple_cipher             "SIMPLE 28147-89"
#define NID_id_simple_cipher            921
#define OBJ_id_simple_cipher            OBJ_cryptopro,100L

这两行到nid_objs中的crypto/objects/obj_dat.h数组:

{NULL,NULL,NID_undef,0,NULL,0},
{"simple_cipher","SIMPLE 28147-89",NID_id_simple_cipher,6,
        &(lvalues[5973]),0},

并且还将nid添加到此文件中的其他数组中。

但是当我尝试加载引擎或运行此命令openssl engine -c engine-name时,我会导致分段错误。我认为这是因为添加了密码并且在为密码定义新的nid时我做错了什么。 当我将新定义的nid添加到此数组时,文件engines/simple/eng_simple.c(我的引擎已定义)中有一个名为gost_cipher_nids的数组,此seg故障发生。 我是openssl的新手,我非常感谢任何帮助。 我正在使用版本OpenSSL 1.0.1e-fips

0 个答案:

没有答案