如何在Linux系统中编译OpenSSL静态库?

关于OpenSSL静态库编译和使用

详细信息
源码下载与解压 从[OpenSSL官网](https://www.openssl.org)下载源码,例如当前最新版本为1.1.0f,下载地址为:
https://www.openssl.org/source/old/1.1.0/openssl-1.1.0f.tar.gz
下载后进行解压。
编译配置 进入解压后的目录,如openssl-1.1.0f,执行以下命令来配置编译选项:
./config -fPIC no-shared
-fPIC表示生成位置无关代码,no-shared表示生成静态库。
编译过程 在配置完成后,运行make命令进行编译,最终会在当前目录下生成两个静态库文件:libssl.alibcrypto.a
开发使用 在开发过程中,需要将生成的头文件目录拷贝到自己的模块头文件目录(如./inc),并将静态库文件拷贝到库文件目录(如./lib),在Makefile中添加如下内容:
INCLUDE += -I./inc
LIB += -L./lib -lssl -lcrypto
在使用OpenSSL库函数时,按需包含相应的头文件,如:
#include
#include
#include
注意事项 编译生成的库libssl.alibcrypto.a存在依赖关系,需将libssl.a放在libcrypto.a前面,否则可能出现未定义错误。

OpenSSL编译选项解读

如何在Linux系统中编译OpenSSL静态库?插图1
(图片来源网络,侵删)
选项类型 详细描述
全局选项 这些选项影响整体编译行为。
--openssldir=OPENSSLDIR:安装目录,默认是/usr/local/ssl
--prefix=PREFIX:设置libincludebin目录的前缀,默认为OPENSSLDIR目录。
--install_prefix=DESTDIR:设置安装时的“根”目录,通常用于打包,默认为空。
算法选项 这些选项禁用某些加密算法。
no-md2,no-md4,no-mdc2,no-ripemd:禁用摘要算法。
no-des,no-rc2,no-rc4,no-rc5,no-idea,no-bf,no-cast,no-camellia:禁用对称加密算法。
no-ec,no-dsa,no-ecdsa,no-dh,no-ecdh:禁用不对称加密算法。
no-comp:禁用数据压缩算法。
no-store:禁用对象存储功能。

附录

以下是一些有用的链接和资源:

1、[使用OpenSSL命令行构建CA及证书](http://www.linuxidc.com/Linux/2015-10/124682.htm)

2、[Ubuntu安装OpenSSL](http://www.linuxidc.com/Linux/2015-05/124001.htm)

3、[通过OpenSSL提供FTP+SSL/TLS认证功能](http://www.linuxidc.com/Linux/2013-05/121749.htm)

如何在Linux系统中编译OpenSSL静态库?插图3
(图片来源网络,侵删)

4、[Linux下使用OpenSSL生成证书](http://www.linuxidc.com/Linux/2015-05/117034.htm)

5、[利用OpenSSL签署多域名证书](http://www.linuxidc.com/Linux/2014-10/124682.htm)

6、[在OpenSSL中添加自定义加密算法](http://www.linuxidc.com/Linux/2015-08/121749.htm)

以上内容就是解答有关openssl linux 静态库的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

如何在Linux系统中编译OpenSSL静态库?插图5
(图片来源网络,侵删)

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/80069.html

小末小末
上一篇 2024年10月19日 03:11
下一篇 2024年10月19日 03:26

相关推荐