HTTPS简要说明

HTTPS的使用现在是越来越广泛,从技术角度HTTPS在HTTP协议基础上,增加了SSL加密 传输,使用非对称加密协商对称加密的密钥,来保证传输的安全性。

1. 证书签发

1)服务方S向第三方机构CA提交信息(公钥,组织信息,个人信息等等)并申请认证
2)CA确认申请者的相关信息
3)信息审核通过,CA向申请者签发认证文件---证书
备注:证书包含,申请者公钥,申请者的组织信息,个人信息,签发机构CA的信息,有效时间
    证书序列号等信息的明文,同时还有一个签名。(也就是明文+CA的签名)
这个签名算法,是使用散列函数计算公开的明文信息摘要,然后采用CA的私钥对信息摘要进行
加密,密文就是签名

2.认证过程

1)客户端C向服务器S发出请求时,S返回证书文件
2)客户端C读取证书中相关的明文信息,采用相同的散列函数计算得到信息摘要,然后利用对应
    的CA公钥(放在本地内置)解密签名数据,对比证书信息摘要,如果一致,则可以确认证书
    合法性,即公钥合法。
3)客户端然后验证证书相关的域名信息,有效时间等信息。
4)客户端是内置信任CA的证书信息(包含公钥),如果CA不被信任,则证书也会判定为非法
备注:申请证书有不会需要私钥的,私钥只能服务器掌握,证书合法性仍然依赖于非对称加密。
服务器将证书发送给客户端进行校验(里面含有了服务器的公钥),本地电脑首先寻找是否拥有
这个服务器证书上的CA机构,如果没有可以弹出警告,如果有,则使用CA机构根证书的公钥
对服务器证书的指纹和指纹算法进行解密。