[原]Windows下openssl的下载安装和使用
安装openssl有两种方式,第一种直接下载安装包,装上就可运行;第二种可以自己下载源码,自己编译。下面对两种方式均进行详细描述。
一、下载和安装openss
方法一:直接使用openssl安装包
Window 的openssl的安装包的下载地址为:
http://slproweb.com/products/Win32OpenSSL.html
一般在安装openssl之前还需要vs的一些插件,该地址中也提供了相关插件的下载。如下图即为openssl的安装及其vs插件在下载网页的截图。

方法二:自己编译openssl
此过程比较复杂,需要先安装perl、vs等软件,然后才能编译openssl。
1、下载并安装perl,
1)下载路径:
http://www.activestate.com/activeperl/downloads/
2)安装与配置:
直接运行安装文件(例如:ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;
3)测试安装是否成功:
进入perl安装目录的eg文件夹,执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功。如下图所示:

perl安装成功之后就可以开始使用Perl的相关命令来进行OpenSSL的安装了。
2、openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。
2.1使用源码编译openssl
1) 下载openssl源码的路径:
http://www.openssl.org/source/
2)配置VS2005的环境变量(因为后面编译openssl时,将会用到vs2005自带的nmake工具)。
执行VS2005的bin目录下(例如:C:\Program Files\Microsoft Visual Studio 8\VC\bin)的vcvars32.bat文件即可完成配置,如下图所示:

3)配置openssl
(1)将下载后的openssl压缩文件(例如:openssl-1.0.1g.tar.gz)解压缩到某目录下(例如:C:\Program Files\openssl-1.0.1g);
(2)通过命令窗口,进入openssl的目录C:\Program Files\openssl-1.0.1g中,执行“perl Configure VC-WIN32” 即可完成配置,如下图所示:

(3)执行do_masm
在openssl的目录下执行ms\do_masm,注意不能进入到ms下面直接执行do_masm,否则会提示找不到文件“util\makfiles.pl”之类的错误。

(4)编译openssl
在openssl目录下(C:\Program Files\openssl-1.0.1g)执行“nmake -f ms\ntdll.mak”,如下图所示:

注意:如果出现“nmake不是内部命令或外部命令,也不是可运行程序”的问题,则说明VS2005安装的有问题,VS2005自带有nmake编辑工具,在安装目录的“VC\BIN”文件夹下(例如本机的位置为:C:\Program Files\Microsoft Visual Studio 8\VC\bin),需将此路径加入到环境变量中即可,如果不加,则执行nmake命令的时候,还需要在,命令nmake前加上它所在的目录。
(5)测试openssl是否编译成功
在openssl目录下执行命令“nmake -f ms\ntdll.mak test”即可完成测试,如下图所示

测试结束的时候会显示“passed all tests”字样,例如:

(6)openssl编译完成之后,会在其目录下生成文件夹out32dll(例如:C:\Program Files\openssl-1.0.1g\out32dll),所生成的文件(例如openssl.exe还有其他动态库等)就在该文件夹里。
二、使用openssl生成ca及证书
使用刚才编译openssl生成的openssl.exe等可执行文件生成相应证书,命令与linux下生成ca和签名证书的过程是一样的(详细操作可参考文章《Mosquito使用SSL/TLS进行安全通信时的使用方法》,该文地址为:
http://blog.csdn.net/houjixin/article/details/24305613
或者:
http://houjixin.blog.163.com/blog/static/35628410201432205042955/
)。下面将使用一个现成的ca文件(ca.key和ca.crt)生成证书文件(client.key和client.crt):
1)创建一个目录用于存放ca文件以及将要生成的证书文件,本例中将该目录创建在out32dll目录下:C:\Program Files\openssl-1.0.1g\out32dll\test,
2)执行命令生成证书的key文件:..\openssl genrsa -out client.key 2048,如下图所示:

3) 生成证书请求文件:..\openssl req -out server.csr -key server.key -new

4) 生成证书文件:..\ openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 36500

[原]Windows下openssl的下载安装和使用的更多相关文章
- Windows下openssl的下载安装和使用
Windows下openssl的下载安装和使用 安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装ope ...
- Windows下Nginx的下载安装、启动停止和配置浏览
前言: 记录一下今天在Windows下载安装Nginx服务器的过程.因为网上关于Nginx的资料都太复杂了,大多数是在Linux下使用的方法. 1.下载 Nginx官网下载地址:http://ngin ...
- windows下OpenSSL加密证书安装步骤与使用方法
OpenSSL加密证书一般用于签名认证,含私钥和公钥.在Linux系统中,OpenSSL一般是已经安装好了,可以直接使用.而在Windows系统中,是需要安装使用的. 最近在使用支付平台时,用到了Op ...
- windows下的mongodb下载安装
1.首先从官网https://www.mongodb.org/下载mongodb的安装包,本人下载的是mongoDB3.2版本的.msi的文件,然后双击安装即可 2.点击next 3.compelte ...
- Windows下Apache的下载安装启动停止
一:下载 打开任意浏览器,输入网址:http://httpd.apache.org/ 进入如下界面: 我们选择最新版Apache httpd 2.4.12Released,点击Download,进入如 ...
- Windows下MongoDB的下载安装、环境配置
下载MongoDB 1.进入MongoDB官网,Products -> 选择SOFTWARE下的MongoDB Server 2.选择下载最新版 3.选择对应的版本下载 msi安装包形式安装Mo ...
- Windows下Charles从下载安装到证书设置和浏览器抓包
1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的. 2.安装好以后打开,配置Charles证书:选择help——SS ...
- Windows 下OpenSSL 安装
安装环境: .操作系统:Windows XP SP2 2.C++编译器:VC++ 6.0 下载: 下载ActivePerl 5.10.1.1007(最新的版本或较低的版本也可以): 下载地址:htt ...
- 纯windows下制作变色龙引导安装U盘教程
原创教程:纯windows下制作变色龙引导安装U盘教程 支持Mavericks和Yosemite 支持白苹果 目标:windows下制作带 Chamelon变色龙引导的黑苹果安装U盘,支持PC机引导安 ...
随机推荐
- JZ2440:时钟设置
这一节的目标是对板子上的时钟有一个初步的了解.而且能通过初步设置.为我们接下来的程序做准备. 1. 板子上的基本资源: 板载晶振12M 主时钟源和 USB 时钟源都是晶振 2. 手冊中的相关项(按时钟 ...
- C++简单实现对象引用计数示例(转)
C++简单实现对象引用计数示例 #include <iostream> #include <stdio.h> using namespace std; class String ...
- jobject和jclass
jclass和jobject的迷惑第一次使用JNI,实例引用(jobject)和类引用(jclass)让人觉得很困惑.实例引用与一个数组和java.lang.Object类或它的子类的实例对应.类引用 ...
- 8. Smarty3:模版中的内置函数
smarty3中对内置函数的修改比較大,加入了很多新的功能:变量声明.表达式,流程控制,函数.数组等.可是建议不要在模版中去使用过于复杂的逻辑,而是要尽量将一些程序设计逻辑写到PHP中,并在模版中採用 ...
- Apatch常用的commons工具包介绍
1.Commons BeanUtils http://jakarta.apache.org/commons/beanutils/index.html 说明:针对Bean的一个工具集.由于Bean往往是 ...
- ime-mode:disabled (用css实现关闭文本框输入法)
css 之 ime-mode语法:ime-mode : auto | active | inactive | disabled取值:auto : 默认值.不影响ime的状态.与不指定 ime-mode ...
- PHP中的多行字符串传递给JavaScript方法两则
PHP和JavaScript都是初学.近期有这么个需求: 例如说有一个PHP的多行字符串: $a = <<<EOF thy38 csdn blog EOF; 传递给JavaScrip ...
- Comparable 和 Comparator的理解
对Comparable 的解释 Comparable是一个排序接口 此接口给实现类提供了一个排序的方法,此接口有且只有一个方法 public int compareTo(T o); compareTo ...
- 面向对象五大原则_1.单一职责原则&2.里氏替换原则
单一职责原则:Single Responsibility Principle (SRP) 一个类.仅仅有一个引起它变化的原因.应该仅仅有一个职责.每个职责都是变化的一个轴线.假设一个类有一个以上的职责 ...
- VC断点失败的原因之中的一个
VC断点失败的原因之中的一个 flyfish 2014-10-23 情景 再debug状态下仅仅有一个cpp文件.命中不了断点. 提示 能够 同意源码与原始版本号不同 不採用,防止出现未知的隐患 问题 ...