什么是HTTPS

  • HTTPS = HTTP + TLS
  • TLS是一种安全传输协议,保证HTTPS请求与响应的数据安全性

HTTPS请求响应的大致流程

  • 第一步:TLS握手,协商加密密钥

    • client请求server,say hello
    • server发送证书、签名算法、加密算法等信息
    • client验证证书合法性
    • client与server协商数据传输的对称密钥
  • 第二步:应用数据传输,用协商通过的密钥加密应用数据,发送加密数据

证书合法性校验

证书合法性校验用到数字签名技术。合法的证书由CA机构签发,证书中都会带上Signature,Signature是证书的摘要(HASH)用CA的私钥加密生成的。

证书校验流程:

  • client用同样的算法生成证书摘要A
  • client用CA的公钥解密Signature获得摘要B
  • client比较A和B是否相同,相同则证书合法。如果证书被修改过,A和B必然不会相同。

多级证书的校验:

CA机构也是分级的,顶的CA机构的证书是根证书。一般网站的证书不可能是根证书签发的,这样就会一级一级往上校验证书的合法性。

参考文章


直抒胸臆
39 声望3 粉丝

程序员里面羽毛球打的最好的