更改openssl源代码后重新编译openssl以及如何引用openssl中的源文件

您所在的位置:网站首页 使用openssl的c文件怎么编译 更改openssl源代码后重新编译openssl以及如何引用openssl中的源文件

更改openssl源代码后重新编译openssl以及如何引用openssl中的源文件

2024-07-07 02:47| 来源: 网络整理| 查看: 265

前言

上一篇文章已经将介绍了如何升级openssl(3.0.3),这次我们介绍如何修改openssl里的源码并且重新编译

1.找到openssl的源码目录

首先找到源码目录进入openssl-3.0.3目录,在修改完代码后,执行

#清除旧的编译产物 make clean #开始新的make make make install #执行类似升级一样的步骤 mv /usr/local/openssl /usr/local/openssl.bak mv /usr/include/local/openssl /usr/include/local/openssl.bak ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl #但是这次不用重新写入ld.so.conf了 #重载一下ld.so.conf文件 ldconfig openssl version

这里的内容是如何引用openssl中的源文件(.h)

我想在下面这个c文件中调用rsa相关的代码,我只需要include 头文件即可 但是我们在编译gcc的时候需要告诉gcc去哪里找这个头文件 具体这块知识涉及到静态/动态链接 我还是不清楚,所以我这里不能解释的很具体,只能把我做的东西写下来

//代码没有任何意义!! //代码没有任何意义!! //代码没有任何意义!! //代码没有任何意义!! 仅仅是因为我做测试 在RSA_print_fp()方法中加了一行代码,我只是测试这行代码有没有编译进去 #include #include int main(){ RSA * r; int bits = 512, ret; unsigned long e = RSA_3; BIGNUM * bne; //调用RSA_generate_key函数生成RSA密钥参数 r = RSA_generate_key(bits, e, NULL, NULL); //调用RSA_print_fp打印密钥信息 RSA_print_fp(stdout, r, 11); RSA_free(r); bne = BN_new(); ret = BN_set_word(bne, e); r = RSA_new(); //调用RSA_generate_key_ex函数生成RSA密钥参数 ret = RSA_generate_key_ex(r, bits, bne, NULL); if (ret != 1) { printf("RSA_generate_key_ex err!\n"); return - 1; } RSA_free(r); printf("this is a test for rsa.h\n"); return 0; }

编译gcc 运行aaa

gcc -o aaa -L/usr/local/include -lcrypto zz_gen_key.c ./aaa

Result

打印内容中有我插入的一行printf()内容,说明我改动的源代码被编译进去了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3