HTTPS系列之加密过程

SSL/TLS 握手过程:

网上找的一张图比较清楚

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协议是用非对称密码算法来协商密钥,并使用密钥加密明文并传输的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容