HTTPS 认证过程

本文以最简洁的方式介绍HTTPS认证核心过程,省略复杂技术细节,帮助读者快速理解其核心逻辑。

一、HTTPS证书的获取流程

  • 服务器运营人员先在本地生成公钥与私钥对,再通过包含公钥、组织信息、域名信息的CSR文件(证书签名请求),向CA(证书颁发机构)提交申请。
  • CA会通过多种方式验证申请者信息的真实性,包括组织合法性、域名所有权等。
  • 审核通过后,CA会签发证书,证书包含申请者公钥、身份信息、CA信息、有效期等明文内容。
  • CA对证书明文内容计算哈希后,用自己的私钥对哈希进行加密(签名)。

二、客户端(浏览器)的HTTPS认证流程

  • 当客户端向服务器发起请求时,服务器会返自己的证书文件。
  • 客户端会内置可信CA的证书及公钥,若证书对应的CA不被信任,无法找到匹配的CA信息,证书会被判定为非法。
  • 客户端读取证书中的明文信息,用相同的哈希函数计算出信息摘要,再用对应CA的公钥解密证书中的签名,对比两者是否一致。
  • 若一致,则确认证书合法,其包含的公钥、域名、有效期等信息均可靠,客户端会对证书中的可靠信息和当前实际访问的域名、时间进行对比验证。

三、证书链的认证逻辑

  • 证书通常按层次签发,形成证书链,例如:根CA签发子CA证书,子CA签发企业根域名证书,企业再为自身子域名签发证书。
  • 证书链验证时,服务端会主动下发中间证书,验证从终端证书开始,逐层向上进行。
  • 用上一级CA的公钥解密当前证书的签名,对比哈希值,确认证书未被篡改且为对应CA签发,认定次轮证书可靠。
  • 再尝试对上一级CA证书进行认证,重复此过程,直至找到当前客户端内置信任的证书。
  • 若服务端未下发完整中间证书,客户端会启动兜底机制自动拉取------证书中会内置CA Issuers条目,包含上一级CA证书的公开下载URL,客户端可通过该URL获取缺失的中间证书,完成验证。
相关推荐
一条泥憨鱼2 小时前
【从0开始学习计算机网络】| DNS -记录类型详解
计算机网络·http·github·域名·dns·记录
游戏开发爱好者85 小时前
开心上架是什么,一站式 Apple 开发者工作台总览
android·小程序·https·uni-app·iphone·webview
牛大兵7 小时前
机顶盒获取局域网已经使用IP,开放的端口号,扫描摄像头,NAS,共享主机等开机自启局域网全量扫描工具
数据库·网络协议·tcp/ip
Mr. zhihao8 小时前
从零手写一个 RPC 框架:用一条因果链推导出 Dubbo 的骨架
网络协议·rpc·dubbo
AI备忘录10 小时前
(十一)DHCP 配置命令五厂商对照:华为 华三 锐捷 迈普 思科
服务器·网络·网络协议·网络安全·华为
游戏开发爱好者821 小时前
WebSocket 抓包怎么查看内容?从握手到消息帧完整解读
网络协议·计算机网络·网络安全·ios·adb·https·udp
尘世壹俗人1 天前
如何生成SSL要用的自签证书
网络协议
外滩运维专家1 天前
通配符证书到期,阿里云上几个服务的证书怎么一次换完
运维·开发语言·nginx·https·php·消息推送
矩子01X1 天前
保姆级智能座舱测试入门:从 Android Automotive OS 到 SOA 服务的 7 层验证
android·自动化测试·网络协议·汽车测试
新手unity自用笔记1 天前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎