在win32下编译openssl

版权声明:本文为博主原创文章,未经博主允许不得转载。个人博客:www.saoguang.top https://blog.csdn.net/u011580175/article/details/82323039

一、关于openssl

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。—— 引用百度百科openssl词条
openssl是开源的(也就是公开源码)

二、下载openssl

  • 因为,openssl开源,并且托管于GitHub上。openssl Github
  • 可以直接选择在官网下载:[openssl Dwonload]
    1. 我下载的是官网的1.0.2o版本,openssl-1.0.2o.tar.gz.0.2o.tar.gz

三、编译openssl

  1. 为什么我选择编译使用,openssl Win32
    其中最大的原因是兼容性

  2. 解压下载后的压缩包。openssl-1.0.2o文件夹下,有以下文件。这些文件是对应不同环境下的编译教程。
    这里写图片描述

  3. 我们选择查看的是INSTALL.W32

编译环境准备

  1. 根据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.

  2. 我们编译需要的东西,Perl一个C编译器(我电脑上安装了VS2017,自带Visual C++所以就直接使用)、NASM
    1. Perl我下载的32位,NASM也是32位 nasm win32
    2. 安装说明中提到:If you want to compile in the assembly language routines with Visual C++, then you will need already mentioned Netwide Assembler binary,nasmw.exe or nasm.exe, to be available on your %PATH%.也就是要把nasm.exe的安装路径添加到环境变量%PATH%中。这样才能在其他目录下的命令行中执行nasm命令。
    3. 命令行执行Perl -v显示如下信息就安装好Perl了。
      这里写图片描述
    4. 命令行执行nasm -v显示如下信息就安装好nasm了

执行编译

  1. 打开VC-WIN32,实际上就是使用VS的开发人员工具命令行。
    这里写图片描述
  2. 将当前目录切换到切换到下载的openssl目录下。
    这里写图片描述
    3.顺序执行下列命令。

    1. perl Configure VC-WIN32 --prefix=c:\some\openssl\dir 后面的路径指定的是安装的路径。
    2. (我选择的第二个 no-asm)
      • 如果你想用NASM在安装后,你需要执行ms\do_nasm
      • 如果你不需要使用汇编语言文件则执行下面两条命令
        perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
        ms\do_ms
        这里写图片描述

    这里写图片描述

    1. nmake -f ms\ntdll.mak 编译
    2. nmake -f ms\ntdll.mak test运行测试文件,检查编译是否有误。
      • 如果结果输出passed all tests代表编译正确执行
    3. nmake -f ms\ntdll.mak install安装openssl到指定目录。

四、查看编译好的openssl

编译好的openssl在C:\some\openssl下。

openssl目录结构如下

  • openssl
    • dir
      • bin 可执行文件,以及openssl库的动态链接文件
      • include 编程时要用的头文件
      • lib 静态链接文件
      • ssl ssl的配置文件

猜你喜欢

转载自blog.csdn.net/u011580175/article/details/82323039