环境
windows10,64位
openssl解压目录:D:\openssl-1.0.2q
ActivePer安装的位置:D:\Perl64
VS2017自带的VC++编译器
第一步:下载工具和源码
1. ActivePerl工具,官网下载链接:http://www.activestate.com/activeperl/downloads
2. openssl源码,下载链接:https://www.openssl.org/source/
第二步:开始安装
1、安装ActivePerl软件
安装ActivePerl软件根据提示一步一步进行安装即可,安装过程软件会自动设置环境变量。要确认是否安装成功,我们可以利用cmd命令行的形式输入指令进入到安装目录,比如安装在D:\Perl64\下,进入到D:\Perl64\eg目录,输入“perl example.pl”, 如果出现如下图所示的:"Hello from ActivePerl!",则表示软件安装成功。
2、安装openssl
首先把openssl-1.0.2q解压放到C盘中,openssl所在目录为:D:\openssl-1.0.2q
然后输入cmd进入命令提示符,输入命令进入到openssl的目录中:cd D:\openssl-1.0.2q
接着再输入命令:perl Configure VC-WIN32 no-asm --prefix=D:\openssl-1.0.2q
注意:当你下载的openssl是高版本的话,如openssl-1.0.2q,需要在这里加上no-asm,表示不使用汇编,如果你不加上的话,在执行nmake命令时会出错。这里是编译32位的库,所示参数为VC-WIN32
执行命令:“ms\do_ms.bat”
注意:在OpenSSL根目录下执行,不要进入到ms目录中执行,否则有的文件或目录找不到
进入x64 Native Tools Command Prompt for VS2017
运行 nmake -f ms\ntdll.mak进行编译动态库 ,
- 执行make进行编译,执行完后会在openssl-1.0.2g目录下生成一个out32dll文件夹,里面包含了一些静态库、动态库和.exe文件,这里需要花点时间。
运行 nmake -f ms\nt.mak进行编译静态库
- 测试,执行命令:nmake -f ms\ntdll.mak test。
- 检查上一步编译是否成功,如果成功则最后显示“passed all tests”字样
- 执行命令:nmake -f ms\ntdll.mak install
- 成功则会在D:\openssl-1.0.2q目录下生成bin、include、lib、ssl四个文件夹
- 运行 nmake -f ms\nt.mak install 进行安装静态库
到此为止,OpenSSL就安装成功啦。
使用命令nmake -f ms\ntdll.mak test,若成功,会出现结果:
第三步:使用Opensll库
8.在VS2017里使用OpenSSL库
编辑工程属性: 1)配置属性——VC++目录——在include包含目录中新增”D:\openssl-1.0.2q\include”(存放编译后的库文件的目录中);
2)VC++目录——”Library files”选择中新增目录”D:\openssl-1.0.2q\lib”。
3)配置属性——链接器——输入——附加依赖项——libeay32.lib 和ssleay32.lib即可
下面讲一下利用openssl生成RSA公私密钥对。
在Windows环境下,打开OPENSSL安装目录bin文件下面的openssl.exe。
1)生成RSA私钥:genrsa -out rsa_private_key.pem 1024
该命令会生成1024位的私钥
2) 生成RSA公钥:rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
此时,我们可以看到一个文件名为rsa_public_key.pem的文件,打开它,可以看到-----BEGIN PUBLIC KEY-----开头,
-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公钥
3)把RSA私钥转换成PKCS8格式:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
生成的结果就是PKCS8格式的私钥