VS2019编译OpenSSL源码

OpenSSL是什么

        OpenSSL是一个开放源代码的软件库包,英文全称是Open Secure Sockets Layer,中文叫法是开放式安全套接层协议。应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

        官网 https://www.openssl.org/

        github : https://github.com/openssl/openssl

        OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

VS2019编译OpenSSL源码

       OpenSSL也不是绝对的完全,也有bug,漏洞。代码审查机构会对OpenSSL的源码检查,保证它最大限度的安全。

VS2019编译OpenSSL3.0源码

(1)openssl的源码是用perl配置的,要编译,需要先安装perl.

                     windows perl下载链接 https://www.activestate.com/products/perl/downloads/

(2)我们来编译的32位版本,用管理员身份执行vs2019的 x86 Native Tools Command Prompt for VS 2019 ,cd到openssl的代码目录,执行如下命令

perl Configure VC-WIN32

  此时会出现如下界面,提示没有找到NASM

VS2019编译OpenSSL源码

  下载NASM,链接 https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D

  添加NASM到环境变量

VS2019编译OpenSSL源码

  关闭黑窗口,再次用管理员身份打开,再次输入perl命令

perl Configure VC-WIN32

VS2019编译OpenSSL源码

 

 此时提示,没有dmake, 输入命令安装 ppm install dmake, 安装比较慢,看网速,大概10分钟左右。

VS2019编译OpenSSL源码

 dmake安装ok后,再执行perl Configure VC-WIN32 出现下面这个界面时,表示makefile文件已经创建ok了。

VS2019编译OpenSSL源码

(3)输入nmake编译

VS2019编译OpenSSL源码

 nmake的时间比较长,大概20分钟。我从18:51开始编译,19:10结束。

 查看makefile文件可以查看生成的库及相关路径

(4)编译完成后安装

nmake install

 此时会复制一些文件到makefile指定的目录,安装结果如下

VS2019编译OpenSSL源码

 上面就是OpenSSL编译后的lib,dll

 

 VS2019配置C++ OpenSSL开发环境

 OpenSSL VS2019的开发环境配置就和常用的SDK一样,在项目属性中配置头文件,lib, dll即可。

 下面使用OpenSSL生成随机数的代码。

#include <iostream>
#include "openssl/rand.h"
#include <time.h>

using namespace std;

int main()
{
    time_t t = time(0);
    unsigned char buf[16] = { 0 };

    //调用openssl产生随机数的方法
    int ret = RAND_bytes(buf, sizeof(buf));

    for (int i = 0; i < sizeof(buf); i++)
    {
        cout << (int)buf[i] << endl;
    }

    return 0;
}

 如果运行ok, 那表示openssl就编译ok了。

上一篇:python-从mysql行插入启动进程


下一篇:你还不会安装Circos?其实就三步!!!