在HTTP的基础上加入了SSL层,所以HTTPS安全的基础是SSL
原理:
证书验证过程:
SSL 证书中包含的具体内容有证书的颁发机构、有效期、公钥、证书持有者、签名,通过第三方的校验保证了身份的合法
(1)检验基本信息:首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验
(2)校验CA机构:浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发;如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。
(3)解密证书:如果找到,那么浏览器就会从操作系统中取出 颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密
(4)比对hash值:浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比
(5)对比结果一致,则证明服务器发来的证书合法,没有被冒充
(6)此时浏览器就可以读取证书中的公钥,用于后续加密了