网上的文章很多, 但是对摘要的验证流程不够通俗易懂
证书预制和申请
1:客户端浏览器会预置根证书, 里面包含CA公钥
2:服务器去CA申请一个证书
3: CA用自己的签名去签一个证书,指纹信息保存在证书的数字摘要里面, 然后发送给服务器
一次访问流程(简化)
1: 客户端 sayHello
2: 服务器返回证书
3-1: 客户端验证证书内容有效性(过期时间, 域名是否相同等)
3-2: 验证证书的有效性 (是否被串改), 通过本地根证书的CA公钥
解密数字摘要,看是否匹配。
3-3:如果数字签名验证通过, 就可以使用服务器证书里面提供的公钥进行下一步通信。