1.加密分为对称加密和非对称加密:
对称加密:加密解密都是用的同一个密钥,如AES加密算法;
非对称加密:加密用的密钥叫公钥,解密使用的密钥叫私钥。如RSA加密算法;
对称加密加解密速度都很快,但是安全性没有非对称加密高,但是非对称加密加解密速度都比较慢。
此外还有Hash加密,运用HASH算法的有:MD5,SHA1,SHA256.
2.Https要到ca申请证书,证书是数字证书,内容主要有:
证书颁发机构和版本
证书使用者
证书公钥
证书有效期
证书数字签名Hash值和签名Hash算法。
......
3.客户端如何校验CA证书
其实CA证书的Hash值就是私钥加密后的值,所以客户端收到证书,首先用公钥解密Hash值,得到hash-a, 注意私钥不在证书上。然后用签名Hash算法生成hash-b。然后将hash-a和hash-b做对比。相等说明证书合法。服务器是可以信任的。反之证书是错误的,有被串改的嫌疑。这时候浏览器会给出提示,无法建立HTTPS连接。当然也会核对证书的有效期和域名匹配等。
4.Https SSL握手的建立:
1.客户端验证服务器的CA证书,得到三个互传的随机数;
2.利用三个随机数,建立会话秘钥
3.客户端和服务器互相确认会话秘钥,握手结束。
4.客户端和服务器开始数据传输,然后用同一个会话秘钥加解密数据。
以上可以看出https的加密过程,既使用了非对称加密安全性高的特点,又使用了对称加密的速度快,效率高的优点。
参考文章:https://juejin.im/post/5e5b50eb6fb9a07cae136773