HTTPS原理

来源:互联网 发布:软件使用说明 编辑:程序博客网 时间:2024/05/21 15:04

HTTPS  = HTTP + SSL/TLS,现在一般都使用TLS.

HTTPS工作过程如下:

1. 浏览器向服务器发送HTTPS请求,该请求中包含一个密文族,该族即为浏览器所支持的加密算法清单;

2. 服务器从该清单中选择一种非对称加密算法,如RSA算法。

3. 服务器向客户端传送证书,该证书包含2中非对称加密算法的公钥,也包括颁发机构、有效期等信息。

服务器可以选择自己制作证书,也可以选择向第三方权威机构购买证书,区别是,第三方购买的权威证书在客户端可直接使用,而自己制作的证书浏览器会发出警告。

4. 浏览器生成一个随机的key,该key即为对称算法的私钥(如AES算法),后面用于加密通信数据;浏览器使用从服务器获得的公钥对该key加密,并发送给服务器。

5. 服务器使用非对称加密算法的私钥对4中的key进行解密。至此,通信双方都已拥有对称加密算法的key,非对称加密算法完全其自身使命,之后的通信加密任务交给对称算法完成。

6. 随后双方使用对称算法key加密数据,进行通信传输。


参考:

https://yq.aliyun.com/articles/14420

http://blog.csdn.net/sean_cd/article/details/6966130?spm=5176.100239.blogcont14420.3.AUEPox



0 0