• 自己动手编译OpenSSL库


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

    我使用的环境是Windows 10 + VS2015

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

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

    3.输入命令msdo_win64a;(32位:msdo_ms)

    4.输入命令nmake –f ms t.mak编译exe,编译成dll为nmake –f ms tdll.mak

    5.如编译成功,可使用nmake –f ms t.mak test来测试,dll为nmake –f ms tdll.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是一个很糟糕的库,文档混乱,使用体验也不好

  • 相关阅读:
    解题:NOI 2007 社交网络
    解题:2018九省联考 一双木棋
    125. 背包问题 II
    152. 组合
    140. 快速幂
    148. 颜色分类
    144. 交错正负数
    83. 落单的数 II
    124. 最长连续序列
    59. 最接近的三数之和
  • 原文地址:https://www.cnblogs.com/Ox9A82/p/5795024.html
Copyright © 2020-2023  润新知