1. 简介
1.1 官网下载
https://www.openssl.org/source/
1.2 Linux 编译openssl-1.1.0h
查看原有系统是否已安装Openssl:
openssl version -a
1.2.1 安装到linux系统
- ./config shared
- make && make install
- ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
- ln -s /usr/local/ssl/include/openssl /usr/include/openssl
- echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
- ldconfig -v
- openssl version -a
1.2.2 安装到指定目录(动态库和静态库同时生成)
- /config shared –prefix=/study/openssl-1.0.2h/linux64-release \
–openssldir=/study/openssl-1.0.2h/linux64-release/ssl - make depend
- make
- make test
- make install
- openssl version
1.3 Windows下编译openssl-1.1.0h
以下测试环境:VS2013编译openssl-1.1.0h(1.1.0版本的不适用以下编译步骤)
1.3.1 安装ActivePerl(脚本解释器) 使用最新版本5.24.3
https://www.activestate.com/activeperl/downloads
perl -v可查看你所安装的版本。在你编译perl程序时会用到它
1.3.2 安装VS2013
1.3.3 安装NASM(1.1.0版本用到,1.1.1版本用不到)
NASM全称The Netwide Assembler,是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。NASM支持大量的文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32以及Win64,同时也支持简单的二进制文件生成。它的语法被设计的简单易懂,相较Intel的语法更为简单,支持目前已知的所有x86架构之上的扩展语法,同时也拥有对宏命令的良好支持
https://www.nasm.us/pub/nasm/releasebuilds/2.14rc7/
然后安装,
找到安装路径C:\Users\TOP-CHEN\AppData\Local\bin\NASM
设置环境变量添加到Path中
设置好后,重新打开dos
1.3.4 安装dmake
1.3.5 设置环境变量(系统变量)Path
Perl的环境变量(系统环境变量)在软件安装的时候自动设置了
C:\Users\TOP-CHEN\AppData\Local\bin\NASM
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
1.3.6 下载OpenSSL
地址:http://www.openssl.org/source/
注意:1.1.0的版本编译与1.1.1版本的编译有区别,并且生成的库的名字也有区别!
下载后,将其解压缩至自己的目录下,建议在C盘不含中文名和空格的目录下,这样做便于后续操作。例如我C:\openssl
1.3.7 初始化编译环境
使用Visual Studio Tool中的“VS2013 x64 本机工具命令提示”来打开控制台;也可以打开一个控制台,然后进到“安装路径\Microsoft Visual Studio 12.0\VC\bin\amd64\“中运行vcvars64.bat;
执行命令vcvars64.bat 设置
.解压下载下来的openssl的压缩包,进入解压文件夹,输入命令:
win64配置参数需要根据自身系统确定:perl Configure { VC-WIN64A | VC-WIN64I }。
cd /d D:\openssl-1.1.0h
perl Configure VC-WIN64A shared no-asm –prefix=”D:/openssl-1.1.0h/win64-release” –openssldir=”D:/openssl-1.1.0h/win64-release/ssl”
在正式编译之前
(1). 找到 c:\openssl-1.1.0\configdata.pm和c:\openssl-1.1.0\makefile两个文件, 用记事本打开, 搜索 “/MD” 字符串, 替换成 “/MT”, 这将导致静态链接 C 运行, 避免了在目标机器上安装 VC 再发行包等等操作。
注意:暂时没替换!
1.3.8 编译 nmake
1.3.8.1 生成release64版本
1.3.8.1.1 生成release版本静态库
cd /d D:\openssl-1.0.2h
perl Configure VC-WIN64A no-asm –prefix=”D:/openssl-1.0.2h/win64-releaseLib” –openssldir=”D:/openssl-1.0.2h/win64-releaseLib/ssl”
ms\do_nasm
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install
1.3.8.1.2 生成release版本动态库
cd /d D:\openssl-1.0.2h
perl Configure VC-WIN64A no-asm –prefix=”D:/openssl-1.0.2h/win64-releaseDll” –openssldir=”D:/openssl-1.0.2h/win64-releaseDll/ssl”
ms\do_nasm
ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install
1.3.8.2 生成debug64版本
1.3.8.2.1 生成debu版本静态库
cd /d D:\openssl-1.0.2h
perl Configure debug-VC-WIN64A no-asm –prefix=”D:/openssl-1.0.2h/win64-debugLib” –openssldir=”D:/openssl-1.0.2h/win64-debugLib/ssl”
ms\do_nasm
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install
1.3.8.2.2 生成debug版本动态库
cd /d D:\openssl-1.0.2h
perl Configure debug-VC-WIN64A no-asm –prefix=”D:/openssl-1.0.2h/win64-debugDll” –openssldir=”D:/openssl-1.0.2h/win64-debugDll/ssl”
ms\do_nasm
ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install