本文介绍如何快速在Linux设备通过源码编译Openssl 。
如果您需要在x86虚拟机为arm嵌入式设备交叉编译openssl,这篇文章非常适合您。
此外,您即将用于执行编译的平台应有 gcc、make 工具。
- 一 获取源码
- 二 解压
- 三 编译步骤
- 3.1 进入OpenSSL工作目录
- 3.2 创建文件夹 build
- 3.3 静态库
- 3.3.1 配置-静态库
- 3.3.2 编译-静态库
- 3.3.3 安装-静态库
- 3.4 动态库
- 3.4.1 配置-动态库
- 3.4.2 编译-动态库
- 3.4.3 安装-动态库
- 四 验证 OpenSSL 是否被正确编译
- 4.1 查看文件目录 *tree -d*
- 4.2 验证OpenSSL版本 *./openssl version*
- 五 参考
- 六 其他文章
- 1. [源码编译 zlib](
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2h.tar.gz二 解压
tar xvf openssl-1.0.2h.tar.gz三 编译步骤 3.1 进入OpenSSL工作目录
cd openssl-1.0.2h3.2 创建文件夹 build
用于存放编译后的OpenSSL
mkdir build3.3 静态库 3.3.1 配置-静态库
./config no-asm no-shared --prefix=$(pwd)/build -openssldir=$(pwd)/build/ssl --cross-compile-prefix=
注意
若需使用指定编译器,应指定CROSS-COMPILE,即按如下示例配置
./config no-asm no-shared --prefix=$(pwd)/build -openssldir=$(pwd)/build/ssl --cross-compile-prefix=/work/toolchain/arm-gcc/bin/arm-linux-gnueabihf-3.3.2 编译-静态库
make3.3.3 安装-静态库
make install3.4 动态库 3.4.1 配置-动态库
./config no-asm shared --prefix=$(pwd)/build -openssldir=$(pwd)/build/ssl --cross-compile-prefix=
注意
若需使用指定编译器,应指定CROSS-COMPILE,即按如下示例配置
./config no-asm shared --prefix=$(pwd)/build -openssldir=$(pwd)/build/ssl --cross-compile-prefix=/work/toolchain/arm-gcc/bin/arm-linux-gnueabihf-3.4.2 编译-动态库
make3.4.3 安装-动态库
make install四 验证 OpenSSL 是否被正确编译 4.1 查看文件目录 tree -d
root@scapeak:~/work/openssl-1.0.2h/build# tree -d
.
├── bin
├── include
│ └── openssl
├── lib
│ ├── engines
│ └── pkgconfig
└── ssl
├── certs
├── man
│ ├── man1
│ ├── man3
│ ├── man5
│ └── man7
├── misc
└── private
15 directories
4.2 验证OpenSSL版本 ./openssl version
root@scapeak:~/work/openssl-1.0.2h/build/bin# ./openssl version OpenSSL 1.0.2h 3 May 2016 root@scapeak:~/work/openssl-1.0.2h/build/bin#五 参考
- OpenSSL Source Old Release



