双线认证的概念这里就不将了,直接进入实战
学习双向认证,第一个难题就是证书,在网上看到各种教程,各式各样的证书格式看的自己头大,最后还是看了这篇文章对各个证书有了一个基本认证,
理解:证书不管什么格式都可以,基本上都是可以相互转换,牢记证书就是保存密钥的文件(私钥、公钥),格式按自己的需求转换即可
地址:https://www.cnblogs.com/cuimiemie/p/6442685.html
了解了这个之后,想试着自己先玩玩,然后发现需要安装openssl环境,在网上查了各种教程,发现有很多坑,开始各种问题,解决了一个之后,又接着一个问题,最后发现是自己的win系统是64位系统,而网上的教程都是32位的,导致出现各种系统差异问题,最后找到一个64位的直接成功,不多说64位地址:
https://www.cnblogs.com/Crysaty/p/5829668.html
另外一些前面的准备工作是看的其他的教程地址:
https://blog.csdn.net/zkz10086/article/details/81567509
接下来看看我的步骤:
1。安装ActivePerl,下载openssl,保证电脑有vs
ActivePerl:https://www.activestate.com/activeperl/downloads
openssl:http://www.openssl.org/source/
vs:链接:http://pan.baidu.com/s/1bpB6szl
密码:yuuu
或者迅雷:thunder://QUFlZDJrOi8vfGZpbGV8Y25fdmlzdWFsX3N0dWRpb18yMDEwX3VsdGltYXRlX3g4Nl9kdmRfNTMyMzQ3Lmlzb3wyNjg1OTgyNzIwfDRhZTYyMjg5MzNkZGU0OWQ5YmZhNGMzNDY3YzgzMWMyfC9aWg==
2.在cmd下进行下载的openssl包里面,我的地址是:C:\openssl-1.0.2q,下载之后如图
3.输入命令:perl Configure VC-WIN64A no-asm 配置编译环境;
后面的 VC-WIN64A需要大写,我之前一直用的perl Configure VC-WIN32,结果后面执行第五步的时候报错
NMAKE : fatal error U1077: 'ml.EXE' : return code '0x1' Stop.
然后改成 perl Configure VC-WIN32 no-asm,但是后面还是报错
NMAKE : fatal error U1077: 'ml.EXE' : return code '0x1' Stop.
最后改成功64的就成功。
4.输入命令ms\do_win64a;
5.输入命令nmake –f ms\nt.mak开始编译
注:这一步可能会出现各种问题,出问题之后最好删掉openssl目录重新解压
6.编译成功,可使用nmake –f ms\nt.mak test
来测试。如果成功则最后显示“passed all tests”字样
7.输入命令nmake -f ms\ntdll.mak install
这步之后,openssl就安装成功,成功则会在C:\openssl-1.0.2g目录下生成bin、include、lib、ssl四个文件夹
那么怎么用呢,如果现在直接在命令行直接打openssl会报检测到opensll不是命令,因为还需要配置环境变量
将C:\openssl-1.0.2q\out32dll配置环境变量path,同时配置
系统变量OPENSSL_CONF=C:\openssl-1.0.2q\apps\openssl.cnf
配置好之后,再重新打开cmd,直接执行openssl就成功,
就可以直接试试命令了,另外如果不是管理员运行就会报错:
unable to write 'random state'
试着执行一个简单的命令:生成RSA私钥(无加密)
openssl genrsa -out rsa_private.key 2048
在附一个介绍命令的地址:http://www.cnblogs.com/littleatp/p/5878763.html