申请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申请证书再换成自己的证书,一是自己企业信息暴漏,二是在明文信息中有域名,当浏览器识别到中间人证书域名跟自己请求访问服务器的域名不一样,也就发现证书被换了。

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

相关推荐
刚入门的大一新生4 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹4 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
醉颜凉5 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
晊晌_h6 小时前
嵌入式从0到精通——Linux C|TCP 并发服务器实现方案详解
服务器·开发语言·tcp/ip
广州灵眸科技有限公司7 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
深念Y7 小时前
【保姆级教程】Proxmox VE (PVE) 安装 FreeBSD 完整指南
服务器·unix·系统·pve·freebsd·虚拟化平台
子非鱼a8 小时前
【WEB】[SWPU2019]Web1
java·服务器·前端
qq_452396238 小时前
第十篇:《eBPF 可观测性:零侵扰的深度内核追踪》
服务器·网络·php
Huangjin007_9 小时前
【Linux 系统篇(十八)】进程(六) :环境变量
linux·运维·服务器
w01_02_039 小时前
linux, 桌面, 自启动。
linux·运维·服务器