当前位置: 首页 > article >正文

申请https证书

引入证书:
当服务器使用HTTPS之前都会申请一份证书,证书是为了证明服务端公钥的权威性,服务器向浏览器传输证书,浏览器再从证书里获取公钥,
证书=明文数据+签名。
 
  
如何理解CA签发证书的过程
a.CA会有自己的公钥 和 私钥(CA独有) CA CA*
b.CA会公布CA的公钥 我们的客户端必须内置CA公钥
c.我们的浏览器只认CA的公钥,也就意味着只有CA有着签发证书的权利


首先服务端向CA提交自己的企业信息申请认证证书,CA审查后,对企业的明文信息用哈希或其他的方法形成数据指纹,CA用自己的私钥对数据指纹加密形成签名,这个签名由于只有CA拥有私钥,所以无法生成第二个签名。CA再将签名和明文信息放在一起,形成证书。再签发给服务端,
证书里的明文,中间人不是也可以去获获取篡改?
思考一下,假设我们是中间人,我们肯定是像方案四一样,再客户端得到服务端的公钥之前就把服务端的公钥改成自己的公钥,如果不在客户端得到之前改,那么客户端一得到服务端的公钥 S ,就传递S+P(客户端公钥)给服务端,此时中间人再怎么样也得不到客户端的公钥P了,此后服务端与客户端开心的用P加密用P解密,也就无懈可击了。所以重点是中间人是要去篡改服务端公钥,换成自己的公钥
a.CA会有自己的公钥 和 私钥(CA独有) CA CA*
b.我们的客户端必须内置CA公钥
c.我们的浏览器只认CA的公钥,也就意味着只有CA有着签发证书的权利


中间人假设去改公钥,但是客户端对照一下数据指纹,发现明文数据形成的数据指纹与签名解密出的数据指纹不一样,就会发现内容被改了,


那如果去改签名再去改数据,此时,签名被改了,当客户端用CA的公钥对签名进行解密,发型客户端根本无法解密,自然也就发现签名被改了


那改证书呢,那把证书向CA申请证书再换成自己的证书,一是自己企业信息暴漏,二是在明文信息中有域名,当浏览器识别到中间人证书域名跟自己请求访问服务器的域名不一样,也就发现证书被换了。


所以中间人想篡改服务端的公钥,就不能得逞了。

  
  


http://www.kler.cn/news/363060.html

相关文章:

  • C++ 图像处理框架
  • MyBatis 基础知识:配置文件、映射器与 SQL 示例详解
  • 【MySQL】表的增删改查(CRUD)
  • Qt/C++学习系列之简单记录1
  • Transformer 与 CNN的对比
  • ubuntu2204配置cuda
  • Spring Boot与JavaWeb融合:在线考试系统的新架构
  • 基于SSM品牌银饰售卖系统的设计
  • Socket 网络编程与 C# 中的应用实例
  • GitHub上传文件
  • 串口空闲中断加DMA数据搬运
  • 「C/C++」C++ STL容器库 之 std::queue 队列容器
  • u盘装win10系统提示“windows无法安装到这个磁盘,选中的磁盘采用GPT分区形式”解决方法
  • 蓝桥杯2017年第八届真题-包子凑数
  • Oracle VirtualBox虚拟机导入VMware ESXi的方法
  • redis的渐进式哈希?说一下细节?------面试题分享
  • 23种设计模式之工厂方法模式
  • 在 Python 的神经网络程序(特别是 PyTorch 框架中),`class` 和 `forward()` 是定义神经网络模型的关键部分。它们的作用如下:
  • pytorch调用手写CUDA算子和pybind11的使用
  • 军事领域的深度学习不同于机器学习中的深度学习
  • 如何在本地运行threejs官方示例
  • FPGA开发时,什么情况下使用BRAM,什么情况下使用DRAM
  • Linux系统基础-进程间通信(4)_模拟实现进程池
  • vb.net 关闭 开启 声卡
  • Python Faker方法大全
  • ArcGIS002:软件自定义设置