方法一:

Windows binaries can be found here:

http://www.slproweb.com/products/Win32OpenSSL.html

You can do this conversion with the OpenSSL library

http://www.openssl.org/

方法二:(手动编译)

1. 下载最新版本的Perl,安装后重启系统。

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

2.下载 latest openssl并解压到C:\openssl-0.9.8k。

http://www.openssl.org/source/

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

1、进入解压目录。

>cd C:\openssl-0.9.8k

2、运行Configure。

>perl Configure VC-WIN32

>perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0

【执行" perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0" no-asm表示没有用NASM编译,DOPENSSL_USE_IPV6=0 禁用IPV6,避免出现NMAKE : fatal error U1077: 'cl' :
return code '0x2'错误;这里为什么VC-WIN32,而不是64 ,我想应该是我们的IDE vc6.0是32的。】

如不成功会有明显提示。

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

可能会缺少“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。

运行 nmake -f ms\ntdll.mak test.检查上一部编译是否成功。正常的话会执行编译后的测试程序

至此OpenSSL在windows下编译完成,编译得到的dll和lib文件位置:静态库libeay32.lib和ssleay32.lib位于 out32文件夹下,动态库libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位于 out32dll文件夹下。

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目录下,确保动态链接库在正确的路径。

可能遇到的问题:

1、NMAKE : fatal error U1077: 'ml' : return code '0x1'

解决办法:在环境变量PATH中添加路径C:\masm32\bin,并按照参考资料3修改ml.exe文件。

2、NMAKE : fatal error U1077: 'cl' : return code '0x2'

解决办法:去掉ipv6(命令行中执行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)

3、fatal error LNK1103: debugging information corrupt; recompile module

解决办法:去掉ms文件夹下对应文件nt.mak或ntdll.mak文件中/debug选项

Windows下安装OpenSSL及其使用的更多相关文章

  1. Windows下安装openssl

    安装python类库cryptography1.6提示 build\temp.win-amd64-2.7\Release\_openssl.c(429): fatal error C1083: Can ...

  2. [转] Windows下编译OpenSSL

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

  3. Windows编译安装OpenSSL

    windows下使用vs2008中的nmake编译安装openssl的脚本build.bat: echo off & color 0A :: 项目名称 set PROJECT=openssl ...

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

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

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

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

  6. Windows 下使用OpenSSL生成RSA公钥和私钥

    Windows 下使用OpenSSL生成RSA公钥和私钥 (1)下载OpenSSL 可到该地址下载OpenSSL: https://www.openssl.org/source/(https://ww ...

  7. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  8. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  9. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

随机推荐

  1. Openfire 服务器更换ip后的恢复方法

    如果你的服务器名称和mysql的地址都是使用的静态ip地址配置的,更改ip后,openfire就会开启失败,这种情况下请看下面的解决方法. 比如你的ip地址由 192.168.0.111 改为192. ...

  2. Arcgis10.5 python按属性分割图层,属性相同分为一个图层

    # coding=utf-8 """ Source code for potential gp tool to create outputs based on attri ...

  3. C#,数据类型扩展 z

    MACD的公式 DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);DEA  : EMA(DIFF,M); MACD : 2*(DIFF-DEA), COLORSTIC ...

  4. 安全:Web 安全学习笔记

    背景 说来惭愧,6 年的 web 编程生涯,一直没有真正系统的学习 web 安全知识(认证和授权除外),这个月看了一本<Web 安全设计之道>,书中的内容多是从微软官方文档翻译而来,这本书 ...

  5. [翻译] AnimatedPath 动画路径(持续更新)

    AnimatedPath动画路径 感谢原作者分享精神,有空补上使用教程 https://github.com/twotoasters/AnimatedPath AnimatedPath explore ...

  6. “==”和equals之间的区别

    通俗点讲,==是看看左右是不是一个东西.equals是看看左右是不是长得一样.如果单纯是想记住,==:等于.equals:相同.两个长得一样的人,只能说长的相同(equals),但是不等于他们俩是一个 ...

  7. linux的chmod,chown命令详解

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...

  8. 使用supervisor过程的坑

    1.安装:由于使用的是公司的虚拟机,所以使用pip install supervisor的过程遇到很多权限问题. 中间尝试使用sudo pip install supervisor的方式安装,但是使用 ...

  9. 【BZOJ】【2127】happiness

    网络流/最小割 Orz Hzwer. 这题他题解说的比较简略……我手画了个图才明白过来…… 嗯对于每个人选文or理的单独收益大家应该很好理解……连S->i 权值为选文的喜悦值,i->T权值 ...

  10. Java输入输出处理技术2

    7.从键盘输入 从键盘输入一行字符,并显示到屏幕上. package io; import java.io.*; public class ReadAndWrite { public static v ...