HTTPS系列之加密过程

SSL/TLS 握手过程:

网上找的一张图比较清楚

HTTPS系列之加密过程_第1张图片
image.png

单项认证具体过程(C(客户端)和S(服务端)通信):

C>>S:(提供支持加密算法,加密算法有DES,RC5,密钥交换算法有RSA和DH,摘要算法有MD5和SHA)发送消息给服务端。
S>>C:1,(根据C支持算法选出一组最安全的算法)我们选 DES-RSA-SHA这对组合
     2,(同时把自己的证书给C) 这是我的证书你验证一下
C>>S:1,(依据本地保存的证书,来验证S传来的证书,如果有问题则断开并发出警告)
     2,(产生一份秘密消息,将秘密消息进行处理,生成加密密钥,加密初始化向量和hmac的密钥)用加密的办法给你发消息了!
S>>C:(用自己的私钥将ClientKeyExchange中的秘密消息解密出来,然后将秘密消息进行处理,生成加密密钥,加密初始化向量和hmac的密钥,这时双方已经安全的协商出一套加密办法了)要开始用加密的办法给你发消息了!
C>>S:用协议好的加密算法加密数据
S>>C:用协议好的加密算法加密数据

SSL协议是用非对称密码算法来协商密钥,并使用密钥加密明文并传输的。

你可能感兴趣的:(HTTPS系列之加密过程)