HTTPS
说白了,HTTPS就是HTTP使用了SSL加密传输。
CA证书
说到HTTPS必然要涉及到CA证书,那么CA证书又是什么呢?
CA就是数字证书,是由CA机构颁发的。CA证书一般会包含以下的内容:
- 证书的颁发机构,版本
- 证书的使用者
- 证书的有效时间
- 证书的公钥
- 证书的数字签名hash值和签名hash算法
- ...
CA证书校验
1,证书的私钥加密得到数字签名的hash值(注意的是私钥并不在CA证书中)
2,使用证书中的公钥解密hash值,得到hash-a
3,使用证书内的签名算法生成hash-b
4,比较hash-a与hash-b是否相等
SSL握手建立流程
SSL 握手流程.png生成对话密钥之后,后面的传输内容就是利用对话密钥进行,一般使用对称加密算法,比如AES。
简单点说就是:
1, 客户端A和服务端B建立SSL握手,通过CA证书确认身份
2,一起生成三个随机数,通过三个随机数生成对话密钥
3,互相确认密钥,握手结束
4,数据通信过程,使用对话密钥加解密数据
网友评论