https 总结
建立https 连接的过程
- tcp建立连接(三次握手)
- ssl 建立连接(四次握手)
ssl 建立连接过程
- 客户端发起连接请求
- 服务端返回证书(证书保存在服务端)
- 客户端验证证书,并用公钥加密对称密钥
- 服务端返回确认
交换协议版本号,选择一个通信双方都支持的加密方式;对两端实现身份验证;密钥交换。
CA证书
证书保存在服务端,客户端会内置信任 CA 的证书信息(包含公钥)
证书的组成
证书由CA认证中心颁发,包含签名内容包含服务端公钥、服务信息等,并使用CA的私钥对签名内容进行加密生成数字签名。
完整的证书由数字签名和签名内容组成
证书的验证
客户端使用CA公钥堆数字签名进行解密,得到正确的签名内容摘要
同时堆签名内容使用哈希函数提起摘要,得到获取到的签名内容的摘要
判断解密出来的签名摘要和使用哈希函数算出来的摘要是否相同,相同则认证通过,否则不通过