msquic客户端认证服务器的自签名证书加密通信(windows)

1.首先安装Openssl和Msquic

Windows下安装Openssl地址:1.可以去github官网下载源代码进行编译 不过我并不推荐新手去进行这种事情 2.去别人整理好的网站直接下载编译好的openssl版本网址如下:

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

选择我圈起来的版本 

116305291d56464285721e4833341496.png

安装好了之后 进入他的bin文件夹 然后把里面的东西全部放入环境变量里 方便日后使用(不放当然也行啦 只不过用起来贼麻烦)

3cea06a447e44342b820efe0dd21a096.png

这些东西全部放到 5d9c1b64291349b99052b64228d1a21c.png

C:\Windows\

然后选择一个你拥有权限的文件夹,比如C:\CA(文件夹名字任意不用管) 打开powershell 然后依次输入以下命令

1.openssl ecparam -out contoso.key -name prime256v1 -genkey 创建CA私钥

2.openssl req -new -sha256 -key contoso.key -out contoso.csr 创建CA证书申请

这一步会让你填入一些基本信息 然后注意其他都可以随便填 但是 Common Name一定要填写域名 这是CA的域名 CA域名可别和你服务器的域名冲突了  CA的域名我接下来使用的是www.dingzi1.com记住

71dbc8979af54df3a1c02068d3d26095.png

3.openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crt 生成CA根证书

4.openssl ecparam -out fabrikam.key -name prime256v1 -genkey 创建服务器私钥

5.openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr 创建服务器的安全证书申请

这一步你填写的域名必须要记住 必须要填  比如我接下来使用的是www.dingzi.com(你也可以填写你自己的域名)等会hosts文件是需要这个东西的 必须要记住必须要填

71dbc8979af54df3a1c02068d3d26095.png

6.openssl x509 -req -in fabrikam.csr -CA  contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256 生成服务器安全证书

7.验证你的文件夹里的文件 如果不出意外应该有如下6个文件

b68208fd177b4233a13755f4a4daab96.png

8.点击contoso.crt 

c833741c8e1f48feb2702ac886eccce6.png15e0856282524fe38bffc578f76640df.png

 记住 必须是受信任的根证书颁发机构

9.检查fabrikam.crt是否可用 如果不可用 那么请重新检查你是否有任何一个步骤出问题了

可用情况如下:b96ac40c07ef47acb6831b8e0f346e9d.png

 10.修改系统hosts文件 更改DNS域名解析的规则 以windows10及以上版本为例 路径如下:

C:\Windows\System32\drivers\etc

修改cce8eb90b713488b9152af96ce50c17b.png

文件

加上你刚刚写的域名到本地环回地址的映射(当然你想咋改就咋改 只是我在本机测试 那么域名映射就是127.0.0.1)  www.dingzi.com 映射到127.0.0.1 

b1d0152a3eaa4c1e906ebd0b049f71f6.png

 然后现在所有都配置好了 可以直接使用自签名证书来进行通信了

 接下来去github官网按照他的提示去安装msquic 

Msquic就不用多说了吧直接去github官网看如何编译和运行 记得一定是编译openssl的版本而不是使用微软那一套加密的东西  本文以微软官网的例子为例 这里就不进行安装msquic的教学了 官网都写的非常明白了

b68208fd177b4233a13755f4a4daab96.png

编译完成后  服务器参数: -server -cert_file:fabrikam.crt -key_file:fabrikam.key

你自己放的路径肯定要加上去涩这是最基本的常识

客户端参数为:-client -target:www.dingzi.com

运行结果如下

客户端:1924ec7498de49f7b730ad6ff890765a.png

服务器:

3886edb8f4164a9e80c7234a21de2da3.png 至此 我们完成了自签名证书的认证

什么! 你问我为什么不去权威的CA买一个证书而是使用自签名证书? 第一自己测试使用的时候不想花钱 第二有些时候你并不想让公网的用户连到你服务器 而是自己内部的私网使用quic 也是不需要CA的安全证书的

猜你喜欢

转载自blog.csdn.net/qq_16401691/article/details/126785447