Window下openssl的安装教程(通俗易懂)

https://blog.csdn.net/qq_40321119/article/details/103329313?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

安装openssl有两种方式,第一种直接下载安装包,装上就可运行;第二种可以自己下载源码,自己编译。下面对两种方式均进行详细描述。

一、下载和安装openss

方法一:直接使用openssl安装包

Window 的openssl的安装包的下载地址为:
http://slproweb.com/products/Win32OpenSSL.html

一般在安装openssl之前还需要vs的一些插件,该地址中也提供了相关插件的下载。如下图即为openssl的安装及其vs插件在下载网页的截图。
在这里插入图片描述

方法二:自己编译openssl

此过程比较复杂,需要先安装perl、vs等软件,然后才能编译openssl。

1、下载并安装perl

  • 下载路径:
    http://www.activestate.com/activeperl/downloads/

  • 安装与配置:
    直接运行安装文件(例如:ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;

  • 测试安装是否成功:
    进入perl安装目录的eg文件夹,执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功。如下图所示:
    在这里插入图片描述
    perl安装成功之后就可以开始使用Perl的相关命令来进行OpenSSL的安装了。

2、openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。

2.1使用源码编译openssl

  • 下载openssl源码的路径:
    http://www.openssl.org/source/

  • 配置VS2005的环境变量(因为后面编译openssl时,将会用到vs2005自带的nmake工具)。
    执行VS2005的bin目录下(例如:C:\Program Files\Microsoft Visual Studio 8\VC\bin)的vcvars32.bat文件即可完成配置,如下图所示:

  • 配置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

在这里插入图片描述

posted @ 2020-08-27 15:11  liness0713  阅读(5107)  评论(0编辑  收藏  举报