一、概述
网络请求方式通常分为两种,分别是HTTP请求和HTTPS请求,其中HTTP的传输属于明文传输,在传输的过程中容易被人截取并且偷窥其中的内容,而HTTPS是一种在HTTP的基础上加了SSL/TLS层(安全套接层)的安全的超文本传输协议,其传输的内容是通过加密得到的,所以说是一种安全的传输
二、加密算法
说到加密算法,先来了解一下两种常用的加密方式,分别是对称加密和非对称加密:
1.对称加密:加密使用的秘钥和解密使用的秘钥是相同的,也就是说加密和解密都使用同一个秘钥,加密算法是公开的,秘钥是加密者和解密者绝对保密的
2.非对称加密:加密使用的秘钥和解密使用的秘钥是不相同的,HTTPS在数字证书验证的时候,采用的RSA密码体制就是一种非对称加密
RSA是一种公钥密码体制,现在使用非常广泛,这个密码体制分为三部分,公钥、私钥、加密算法,其中公钥和加密算法是公布的,私钥是自己保密的。这种机制最大的特点是,通过公钥加密的密文只有对应的私钥才能解密,同样通过私钥加密的密文也只有对应的公钥才能解密。下面我们将会讲到HTTPS是如何通过RSA这种密码体制去验证身份的
三、数字证书
数字证书是Https实现安全传输的基础,它是由权威的CA机构颁发的,证书的主要内容有:公钥(Public Key)、ISSUER(证书的发布机构)、Subject(证书持有者)、证书有效期、签名算法、指纹及指纹算法
在网络中,要想实现自己的数据能够安全地传输,就必须向权威的CA机构申请数字证书,有了数字证书就相当于有了一把安全秘钥,这里先认识一下证书是长啥样的,之后再解析证书是如何进行安全认证的