比较好的阅读资料推荐《图解HTTP》
HTTPS = HTTP + SSL + 完整性校验
证书验证
CA生成证书的指纹
- 将持有者的公钥、用途、颁发者、有效时间打包进行哈希,得到哈希值
- CA使用自己的私钥对哈希值进行加密,得到数字签名
- 将数字签名添加到证书
客户端验证
- 检查CA
- 使用CA的公钥对数字签名进行解密,得到哈希值H1
- 使用同样的哈希算法对信息继续哈希,得到哈希值H2
- 对比H1和H2
密钥交换
- 链接到服务器,服务器发送证书
- 校验证书获取公钥
- 生成对称密钥,使用公钥对对密钥进行加密发送给服务器
- 服务器使用私钥进行解密,得到对称密钥
- 之后采用对称密钥对报文进行加密通信