版权声明:本文为博主原创文章,未经博主允许不得转载。个人博客:www.saoguang.top https://blog.csdn.net/u011580175/article/details/82323039
一、关于openssl
OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。—— 引用百度百科openssl词条
openssl是开源的(也就是公开源码)
二、下载openssl
- 因为,openssl开源,并且托管于GitHub上。openssl Github
- 可以直接选择在官网下载:[openssl Dwonload]
- 我下载的是官网的1.0.2o版本,
openssl-1.0.2o.tar.gz.0.2o.tar.gz
。
- 我下载的是官网的1.0.2o版本,
三、编译openssl
为什么我选择编译使用,openssl Win32
其中最大的原因是兼容性
。解压下载后的压缩包。
openssl-1.0.2o
文件夹下,有以下文件。这些文件是对应不同环境下的编译教程。
我们选择查看的是
INSTALL.W32
编译环境准备
根据
INSTALL.W32
文件中写到的一下内容you need Perl for Win32. Unless you will build on Cygwin, you will need
ActiveState Perl, available from http://www.activestate.com/ActivePerl.one of the following C compilers:
- Visual C++
- Borland C
- GNU C (Cygwin or MinGW)
Netwide Assembler, a.k.a. NASM, available from http://nasm.sourceforge.net/
is required if you intend to utilize assembler modules. Note that NASM
is now the only supported assembler.
- 我们编译需要的东西,
Perl
、一个C编译器
(我电脑上安装了VS2017,自带Visual C++
所以就直接使用)、NASM
- Perl我下载的32位,NASM也是32位 nasm win32
- 安装说明中提到:If you want to compile in the assembly language routines with Visual C++, then you will need already mentioned Netwide Assembler binary,
nasmw.exe
ornasm.exe
, to be available on your%PATH%
.也就是要把nasm.exe的安装路径添加到环境变量%PATH%
中。这样才能在其他目录下的命令行中执行nasm
命令。 - 命令行执行
Perl -v
显示如下信息就安装好Perl了。
- 命令行执行
nasm -v
显示如下信息就安装好nasm了
执行编译
- 打开VC-WIN32,实际上就是使用VS的开发人员工具命令行。
将当前目录切换到切换到下载的openssl目录下。
3.顺序执行下列命令。perl Configure VC-WIN32 --prefix=c:\some\openssl\dir
后面的路径指定的是安装的路径。- (我选择的第二个 no-asm)
- 如果你想用NASM在安装后,你需要执行
ms\do_nasm
- 如果你不需要使用汇编语言文件则执行下面两条命令
perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
ms\do_ms
- 如果你想用NASM在安装后,你需要执行
nmake -f ms\ntdll.mak
编译nmake -f ms\ntdll.mak test
运行测试文件,检查编译是否有误。
- 如果结果输出passed all tests代表编译正确执行
nmake -f ms\ntdll.mak install
安装openssl到指定目录。
四、查看编译好的openssl
编译好的openssl在C:\some\openssl
下。
openssl目录结构如下
- openssl
- dir
- bin 可执行文件,以及openssl库的动态链接文件
- include 编程时要用的头文件
- lib 静态链接文件
- ssl ssl的配置文件
- dir