zoukankan      html  css  js  c++  java
  • windows平台下编译openSSL

    由于信息安全大赛要使用加密算法,查找相关文档之后决定使用openSSL。OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

    编译openSSL的源码有三种方式,具体的情况源码根目录的Makefile中有说明;

    (1)windows平台下使用Microsoft Visual C++编译器编译:

    (2)windows平台下使用GNU MinGW和Cygwin编译:

    (3)在Linux平台下使用gcc编译:

    首先我们看一看openssl-1.0.1的源码,源码根目录的README文件(看软件包的README文件是个好习惯!)中有:

      

      To install this package under a Unix derivative, read the INSTALL file.  For
     a Win32 platform, read the INSTALL.W32 file.  For OpenVMS systems, read
     INSTALL.VMS.

     所以在windows平台下编译应该按照INSTALL.W32文件来做,在Linux平台下面按照INSTALL文件来做。

    (1)windows平台下面使用cl编译器来编译:

      如果你想使用Visual C++的汇编器来编译,那么是首先要有nasmw.exe或者nasm.exe。并且把他们放到PATH环境变量中。

      首先生成配置文件,把平台配置为VC-WIN32:

       > perl Configure VC-WIN32 --prefix=c:\some\openssl\dir

      --prefix指定openssl被安装的目录。

      然后,用汇编器执行Makefile文件。

      

       - If you are using NASM then run:

         > ms\do_nasm

       - If you don't want to use the assembly language files at all then run:

         > perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
         > ms\do_ms

          然后在VC的控制台中运行:
         > nmake -f ms\ntdll.mak

      如果一切正常,你会获得一些dll文件和exe文件,他们存放在out32dll文件夹中。

      如果你想要测试文件,那么:

       > nmake -f ms\ntdll.mak test

      要安装openssl的话,使用:

       > nmake -f ms\ntdll.mak install

    在使用VC编译之后生成的是在out32dll里面的libeay32.lib以及ssleay32.lib这两个静态库,以及libeay23.dll和ssleay23.dll两个动态库。

    在使用Cygwin给MinGW编译生成的是根目录下面的libcrypto.a和libssl.a这两个静态库。

    (2)Windows 平台下使用GNU MinGW和Cygwin来编译

  • 相关阅读:
    使用SMM框架开发企业级应用-----注解
    使用SMM框架开发企业级应用-----顾问(Advisor)与 正则表达式做顾问
    使用SMM框架开发企业级应用-----AOP进阶
    使用SMM框架开发企业级应用-----代理(静态,JDK,CGLIB)
    使用SMM框架开发企业级应用-----Spring集合注入和域属性自动注入byName和byType
    使用SMM框架开发企业级应用-----面试题
    使用SMM框架开发企业级应用-----Spring AOP
    swagger-ui 3.0.0版本介绍
    vite 创建ts项目
    vue3
  • 原文地址:https://www.cnblogs.com/fangying7/p/2374083.html
Copyright © 2011-2022 走看看