自己动手编译OpenSSL库

发布者:Ox9A82
发布于:2016-08-22 11:45

因为工作需要,要实现一个基于SSL的通信程序。之前没有接触过SSL协议通讯,这次学习了一下如何自己编译OpenSSL库。

我使用的环境是Windows 10 + VS2015

1.首先打开VS2015的命令行编译工具,想编译成32位的就打开x86版本,想编译成64位的就打开x64版本。

2.解压下载下来的openssl的压缩包,进入解压文件夹,输入命令:perl Configure VC-WIN64A;(32位:VC-WIN32)

3.输入命令ms\do_win64a;(32位:ms\do_ms)

4.输入命令nmake –f ms\nt.mak编译exe,编译成dll为nmake –f ms\ntdll.mak

5.如编译成功,可使用nmake –f ms\nt.mak test来测试,dll为nmake –f ms\ntdll.mak test。

配置VS

1.项目->属性->配置属性->VC++ 目录->包含目录,将openssl文件夹的inc32添加进去;项目->属性->配置属性->VC++目录->库目录,添加openssl文件夹下的out32dll;

2.项目->属性->配置属性->链接器->输入->附加依赖项,增加libeay32.lib和ssleay32.lib;

3.将out32dll中的libeay32.dll和ssleay32.dll拷贝至工程目录下。

 

使用例程编译通过,测试成功

// SSL.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
/* OpenSSL headers */
#include "openssl/bio.h"
#include "openssl/ssl.h"
#include "openssl/err.h"
/* Initializing OpenSSL */


int main()
{
    SSL_load_error_strings();
    ERR_load_BIO_strings();
    OpenSSL_add_all_algorithms();
    return 0;
}

 

 

ps:个人感觉OpenSSL是一个很糟糕的库,文档混乱,使用体验也不好


声明:该文观点仅代表作者本人,转载请注明来自看雪