VC环境OpenSSL安装以及编程过程

SSL就是Secure Sockets Layer,是一种安全套接字协议,详情请参考链接中的介绍。

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl

ActivePerl:http://www.activestate.com/activeperl/

openss:http://www.openssl.org/ (本文使用openssl-1.0.0-beta5)

参考 openssl 目录下的 install.win32 说明进行安装:

1 、进入解压目录。

>cd C:/ openssl-1.0.0-beta5

2 、运行 Configure 。

>perl Configure VC-WIN32

如不成功会有明显提示。

3 、创建 Makefile 文件。

>ms/do_ms

推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。

:ms/do_masm (默认 vc 自带的编译器;也也以自己下载安装)

:ms/do_nasm (需要自己下载)

4 、配置 VC 环境变量。

>cd C:/Program Files/Microsoft Visual Studio/VC98/Bin

>vcvars32.bat

5 、编译动态链接库。

>cd C:/openssl-0.9.8k

>nmake -f ms/ntdll.mak

如果编译成功,最后的输出都在 out32dll 目录下:包括可执行文件、两个 dll ( ssleay32.lib, libeay32.lib )和两个 lib 文件( ssleay32.dll, libeay32.dll )。

6 、为 VC 添加头文件和静态链接库路径。

Tools à Options à Directores ,在 Include files 中增加 C:/openssl-0.9.8k /inc32 目录;在 Libray files 中增加 C:/openssl-0.9.8k/out32dll 。

7 、编写 OpenSSL 程序,可参考 C:/openssl-0.9.8k/demos

( 1 )包含相应头文件

#include <openssl/***. h >

(2) 添加静态链接库

#pragma comment (lib, "libeay32.lib" )

#pragma comment (lib, "ssleay32.lib" )

或 Project à Settings à Link à Object/library modules 填写 libeay32.lib ssleay32.lib 。

( 3 )将动态链接库ssleay32.dll, libeay32.dll 复制到 C:/WINDOWS/system32 或 Debug 目录下,确保动态链接库在正确的路径。

http://blog.csdn.net/harbinzju/article/details/6132229

VC环境下编译OpenSSL(仅仅是个示例,网上还有许多相关文章)的更多相关文章

  1. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  2. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  3. Windows下编译OpenSSL(使用VS2013)

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. VC++2010下编译STLport,Boost

    VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...

  6. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  7. Boost学习总结(一)VS2010环境下编译STLport和Boost

    Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...

  8. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  9. 【应用笔记】【AN003】VC++环境下基于以太网的4-20mA电流采集

    简介 4-20mA电流环具有广泛的应用前景,在许多行业中都发挥着重要作用.本文主要介绍了以太网接口的4-20mA电流采集模块在VC++环境下进行温度采集,实现WINDOWS平台对数据的采集.分析及显示 ...

随机推荐

  1. Android Paint、Canvas、Matrix使用讲解(一、Paint)

    http://blog.csdn.net/tianjian4592/article/details/44336949 好了,前面主要讲了Animation,Animator 的使用,以及桌面火箭效果和 ...

  2. stm32之GPIO库函数开发

    关于GPIO库函数的重点函数:P122 GPIO_Init() :根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器: GPIO_ReadInputDataBit():读取指定端 ...

  3. Ext JS学习第五天 我们所熟悉的javascript(四)

    此文用来记录学习笔记: •javascript之对象.面向对象 •可能对于高级语言你可能了解甚至精通OOP面向对象,那么对于javascript你又熟悉多少呢?我们一起来学习javascript面向对 ...

  4. ssh "openssh-daemon is stopped"操作之伤+sftp访问“-bash: /dev/null: Permission denied”

    1.ssh "openssh-daemon is stopped"操作之伤 原来好好的 sshd服务突然发现  不能重新启动了: [root@bogon rules.d]# ser ...

  5. 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)

    六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...

  6. dotnet tools 运行 dotnet run

    dotnet tools 运行 dotnet run dotnet run 命令介绍 前言 本篇主要介绍 asp.net core 中,使用 dotnet tools 运行 dotnet run 之后 ...

  7. VirtualBox虚拟机安装RedHat7.3编译Linux0.01内核

    引子 由于需要编译linux0.01内核,而目前的linux版本太高需要降低gcc版本等等,需要做不少调整非常不方便. 所以,直接安装RedHat7.3,这样就好编译linux0.01的内核了. 但是 ...

  8. php前端控制器设计1

    The primary role of a front controller in web-based applications is to encapsulate the typical reque ...

  9. Oracle中查询各种对象的方法小结

    --查看当前库中的所有表select * from all_tables a where a.table_name='INFOCODE_P20081'--查看表结构select * from all_ ...

  10. Intent数据传递

    (1)首先是Activity的简单跳转: 1).Activity的切换一般是通过Intent来实现的,Intent是一个Activity到达另一个Activity的引路者,它描述了起点(当前Activ ...