Https工作流程
文字描述
- 客户端发起HTTPS请求,并发送一个客户端随机数到服务器。
- 服务器响应,发送数字证书(含公钥信息)及一个服务器随机数给客户端。
- 客户端验证服务器证书的有效性,提取公钥,同时生成一个预主密钥。
- 客户端将预主密钥使用服务器的公钥加密后,连同一个新的客户端随机数,发送给服务器。
- 服务器使用私钥解密得到预主密钥。此时,客户端和服务器都有了预主密钥和双方的随机数。
- 双方使用预主密钥及各自的随机数生成对称会话密钥。
- 后续通信使用这个对称密钥进行加密,保障数据安全性。
流程图理解

数字证书生成流程
- 密钥对生成:证书申请者生成一对密钥(公钥和私钥)。
- 创建CSR:申请者使用私钥对公钥和身份信息生成证书签名请求(CSR),并对这些信息计算数字摘要。
- 提交CSR给CA:申请者将CSR及其它验证信息提交给证书颁发机构(CA)。
- CA验证申请:CA对申请者提交的信息进行验证,确保其对所申请域名的控制权及身份的真实性。
- 签发数字证书:
- CA对申请者的CSR信息(包括公钥和身份信息)计算数字摘要。
- CA使用自己的私钥对摘要进行加密,生成数字签名。
- CA将数字签名与申请者的公钥、身份信息等合成最终的数字证书。
- 安装证书:申请者将从CA收到的数字证书安装到其服务器上。
注:证书包括申请者的公钥、证书颁发者信息、有效期和其他身份标识信息。
证书验证流程
- 证书来源验证:客户端检查证书是否由可信的证书颁发机构(CA)签发,通常通过比对客户端预存的CA根证书列表完成。
- 签名验证:使用CA的公钥解密证书中的数字签名,获取证书摘要。客户端再对证书内容计算摘要,比对两者是否一致,以验证签名的有效性和证书的未被篡改。
- 检查证书状态:客户端可能会查询证书是否被撤销,通过证书撤销列表(CRL)或在线证书状态协议(OCSP)进行。
- 有效期验证:确保当前日期在证书的有效期内,过期的证书不能被接受。
- 域名匹配验证:核实证书中的域名是否与尝试连接的服务器域名一致,保障证书确实属于当前服务器。
为什么HTTPS没有完全淘汰HTTP?
- 性能开销:HTTPS加密和解密数据需要额外的计算资源
- 成本因素:
- 某些特殊类型的证书(如EV SSL证书),需要付费。
- 维护HTTPS站点也需要额外的管理和技术支持成本。
- 兼容性问题:一些旧的客户端和浏览器可能不支持HTTPS或最新的加密协议。
- Author:CoderWdd
- URL:https://www.wuinsights.top//article/01HTY9TEK80312E15XM3V874HK
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts