openssl实践

来源:互联网 发布:python @ 编辑:程序博客网 时间:2024/06/15 20:18

最近工作中用到特定的加解密技术,所以想了解下通用加解密技术。


引用:

http://blog.csdn.net/shuanyancao/article/details/8985963

http://blog.gpjtag.com/?p=18


一、aes篇:

网上找了份代码,makfile中 -lssl,报错如下

aes.c:(.text.startup+0x24d):对‘RAND_pseudo_bytes’未定义的引用
aes.c:(.text.startup+0x25f):对‘RAND_pseudo_bytes’未定义的引用
aes.c:(.text.startup+0x362):对‘AES_set_encrypt_key’未定义的引用
aes.c:(.text.startup+0x388):对‘AES_cbc_encrypt’未定义的引用
aes.c:(.text.startup+0x468):对‘AES_set_decrypt_key’未定义的引用
aes.c:(.text.startup+0x486):对‘AES_cbc_encrypt’未定义的引用

nm -D libssl.so,显示库中没有定义,就觉得奇怪。网上都是链接 的ssl的库,我的ssl库为啥 没有这些函数的定义??

开始以为安装的libssl.so有问题。换源apt-get install 了几次还是这样。

最后没办法,下了份openssl的源码,自己编译库, nm 发现libssl.a中也没有如上函数的 定义,只有引用 。突然发现libcryto.a中有这些函数。原来还需要链接libcrypto库!!!网上的帖子基本都没有说明,都说链接ssl。。。。。。

makefile中   -lssl -lcrypto  -ldl ,编译通过。

==================================================================================

0 0