平时我们访问https网站时,好像并不需要操作什么证书,直接打开浏览器就可以访问。本文将介绍为什么我们平时可以直接访问HTTPS网站。
首先有一个概念叫 CA(Certificate Authority),维基百科的翻译叫证书认证机。它是受大众信任的一个第三方机构,负责发放证与管理证书。它有自已一对自已密钥:私钥(ca.key)与公钥(ca.crt)。公钥是公布出去的,所有人和组织都可以拿到,私钥是CA自已保留的,不外泄。
接下来,我们看一下当一个公司需要搭建一个自已的网站,并提供https服务的流程,流程图如下:

首先,公司A生成自已的私钥a.key和证书签名请求文件a.csr;然后公司A提交自已的csr给CA,CA利用自已的私钥与公钥给公司A的csr文件进行数字签名,生成签名后的证书文件a.crt,然后发给公司A。最后,公司A利用a.key与a.crt就可以提供https服务。外界只需要使用CA公布出来的公钥ca.crt就能访问https://a.com服务。
同样,如果公司B的签名证书也是由CA签名的,那么在浏览器同样可以使用ca.crt访问B公司的https://b.com服务。这就是为什么,我们在访问google,百度这样的网站的https页面时,并没有设置证书的过程;这是因为安装操作系统时,系统里已经自带了CA的公钥,在操作系统里,它叫根证书。
为什么浏览器有了CA的根证书后,就能够访问用CA签署的证书起的HTTPS服务呢?请看下一节《HTTPS原理》
- 应用层
- HTTP
- Cookie
- Session
- HTTP报文格式
- HTTP的Header字段
- HTTPS
- 简介
- 原理
- RSA加密与解密
- 证书签名与验证
- TLS双向认证
- openssl命令汇总
- DNS
- DNS的记录类型
- DNS的报文格式
- FAQ
- 传输层
- TCP
- CloseWait
- 网络层
- IPv6
- 链路层
- 链接层基础知识
- VLAN
- FAQ
- Linux网络收发包
- 网卡收包
- 网卡发包
- 收发包FAQ
- LVS
- 安装-DR模式
- 基本原理
- Ipvsadm命令
- Netfilter
- Netfilter简介
- 注册钩子函数
- Netfilter中数据包流向
- Iptables的数据结构
- 连接跟踪
- 初识连接跟踪
- 连接跟踪详解
- 连接跟踪数据结构
- 数据包与连接的状态
- NAT
- IPVS
- KubeProxy的IPVS模式
- Linux虚拟网络设备
- 虚拟网络设备简介
- Tap
- VethPair
- Vlan
- Vxlan
- Flannel的VXLAN原理
- Openstack的VXLAN原理
- VXLAN总结
- Bridge
- 给容器设置主机网段IP
- Macvlan
- Ipvlan
- IPIP
- IPIP使用介绍
- IPIP源码分析
- Limdiag网络
- 详细设计
- kubeovn
- IP命令
- Calico
- Calico常见问题
- ARP无响应
- 其他
