• windows下msquic客户端认证服务器的自签名证书客户端不添加-unsecure保证加密通信


    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的安全证书的

     

     

     

     

     

     

  • 相关阅读:
    第八章 泛型
    Linux权限管理(用户+文件)
    正定二次型
    MySQL中WHERE后跟着N多个OR条件会怎样。。。
    【MyCat简单介绍】
    解决跨域问题
    软考历年问题总结
    C# 之委托和事件
    关于使用mysql_fdw无法查询长度超过64K字段的原因分析
    花 1 万块做付费咨询,值得吗?
  • 原文地址:https://blog.csdn.net/qq_16401691/article/details/126785447