【证书】证书相关知识
1.公钥1.1 本质就是很大的数有数字e, n 看到的如下的一些.pem文件中的密钥是数经过base64编码得到的字符串便于文本传输-----BEGIN RSA PRIVATE KEY-----xxxxx......-----END RSA PRIVATE KEY-----1.2 作用1.2.1 验证签名验签过程是如下的数学运算e, n 公钥的数 可以从base64编码后的字符串中解析出来s 签名由私钥生成pad(H(M)): 运算结果是原始数据的哈希值H: 哈希运算常用sha256M: 原始明文数据pad: 表示填充1.2.2 加密也是数学运算2. 私钥2.1 本质也是很大的数同公钥一样但是有很多数常用的这里有d, n。也是pem文件里面一堆字符串是base64编码所得解析编码体可以解析出d, n 。这个跟公钥是一样的2.2 作用2.2.1 签名含义同公钥2.2.2 解密含义同公钥3. 密钥总结项目RSA 加密RSA 签名使用密钥公钥 (e,n) 加密私钥 (d,n) 解密私钥 (d,n) 签名公钥 (e,n) 验签输入内容原始短明文 M原文的哈希摘要经过填充目的保密不让第三方看到明文证明数据是谁发的有没有被篡改能否反向推导密文只能私钥解密签名不能恢复原始原文只能校验哈希上述举例是RSA 它的加密和签名底层的数学是用同一套 模幂运算只是指数反过来总结私钥私有公钥公开私钥验名公钥验签处理的数据是明文哈希经过填充私钥解密公钥加密 处理的是双端会话传输数据底层逻辑是数学运算4. 证书4.1 证书内容以X.509为例证书包含服务器公钥、域名、有效期、主体名称等叫证书明文数据 T4.2 签名及验签签发证书服务器会将服务器公钥、证书等一起下发给客户端1. CA 计算Hash(T)→ 得到摘要固定长度比如 SHA2562. CA 用自己的私钥对这个哈希摘要做签名运算 → 得到数字签名 S3. 把【明文 T 签名 S】打包在一起 → 就是 X.509 证书验签证书客户端客户端拿到证书明文 T 签名 S客户端本身持有CA根证书的公钥如果是中间证书的公钥可由服务器下发获取1. 客户端对明文 T 重新算一次哈希Hash(T)证书中已经指定了使用的哈希算法客户端使用该算法计算哈希2. 用CA 公钥验证签名 S得到 CA 那边算出来的填充哈希移除填充得到原始哈希3. 对比两个哈希相等 验签通过说明内容没篡改、确实是 CA 签的。服务器提交信息 → 构造 tbsCertificate(待签名证书明文) ↓ CA计算 hash SHA256(tbsCertificate) ↓ 对hash做填充 pad() ↓ sig pad(hash)^d mod n # d,n来自CA的RSA私钥 ↓ 组装tbsCertificate 签名算法标识 sig → 最终X.509证书4.3 证书吊销证书是有有效期的但还没到期就失效就叫吊销。 场景举例服务器私钥泄露了黑客拿到私钥可以冒充服务器证书虽然还没过期但必须立刻作废。域名转让、服务器下线不再使用这个证书。证书吊销 CA 对外宣告这份证书虽然时间没到但不再可信禁止使用客户端 TLS 握手时需要确认证书有没有被吊销。两种主流查询机制CRL证书吊销列表CA 维护一个文件里面列出所有被吊销证书的序列号客户端下载整个列表查证书序列号是否在里面。缺点列表会越来越大。OCSP在线证书状态协议客户端联网单独向 OCSP 服务器查询「这个证书序列号是否吊销」只查单条记录更常用。⚠️ 注意 有些环境会配置 OCSP stapling服务器提前去 CA 查询自己证书状态把 OCSP 响应一起发给客户端客户端不用单独连外网 OCSP 服务器。一句话有效期是 “自然过期”吊销是主动提前作废证书。5. TLS流程服务器【持有服务器私钥 服务器证书】 ↓ 1.握手下发证书 客户端 ←---- 服务器证书(服务器公钥CA签名信息) ↓ 2.客户端校验证书 ┌────────────────────────────────┐ │ 客户端本地根CA公钥校验CA签名 │ │ 检查有效期、域名、吊销状态 │ └───────────┬────────────────────┘ ↓ 验证成功 信任证书内的服务器公钥 ↓ 客户端生成随机密钥【服务器公钥加密】→发给服务器 ↓ 服务器用【服务器私钥】解密拿到随机密钥 ↓ 两端生成相同对称会话密钥 ↓ 业务数据对称加密传输注意点服务器下发给客户端的除了证书本身的CA签名外还有明文T数据哈希算法标记等等以及服务器的公钥这个是服务器的跟CA证书的密钥对不是一回事CA证书的密钥对签名验签 证明证书可信服务器的密钥对加密解密 用于证书可信后服务器与客户端之间业务数据的对称加密传输6. 证书链6.1 证书链问题上述说的例子前提是RSA X.509还有就是直接使用CA证书进行签名验签实际上多数情况是有证书链的。如下根CA → 签发中间CA证书 → 中间CA签发网站服务器证书TLS 握手时服务器除了下发服务器叶子证书一并把中间 CA 证书发给客户端。 客户端拿到中间证书里面带有中间 CA 的公钥用来验证叶子证书签名 然后继续往上验签中间证书直到找到本地内置的根证书完成整条链校验。6.2 证书链场景TLS流程1. 客户端收到服务器发来服务器叶子证书 中间 CA 证书2. 客户端用中间 CA 证书内的公钥校验服务器证书签名3. 客户端校验中间 CA 证书的签名在本地系统证书库寻找根 CA 证书4. 找到本地根证书取出根 CA 公钥校验中间 CA 证书签名5. 整条链全部验签通过再检查有效期、吊销状态、域名匹配6.2 CA公钥来源客户端的CA公钥怎么来的呢一般情况下预先内置在客户端本地系统 / 浏览器里获取 CA 公钥本地预装/ 握手时服务器下发不访问 CA 服务器检查证书有没有吊销联网访问 OCSP/CRL 服务器查询证书状态注意上述两种场景CA公钥获取以及查看证书是否吊销不能混淆

相关新闻

AI工程从零构建:从数据到部署的完整实践指南

AI工程从零构建:从数据到部署的完整实践指南

1. 先看清AI工程这件事的本质1.1 "AI工程"到底在解决什么问题很多人第一次看到"ai-engineering-from-scratch"这个项目名时,第一反应是:这又是一个教你怎么调大模型的仓库吧。实际上,真正做下来之后你会发现,…

2026/10/1 2:17:20 阅读更多 →
绝区零影像店营业全自动方案解析:ZenlessZoneZero-OneDragon 的 RandomPlayApp 节点链与配置指南

绝区零影像店营业全自动方案解析:ZenlessZoneZero-OneDragon 的 RandomPlayApp 节点链与配置指南

桌面应用RPA计算机视觉 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 点击查看 免费下载 本文讲解 ZenlessZoneZero-…

2026/10/1 8:34:06 阅读更多 →
如何快速理顺 AI 项目团队协作:多人开发四大坑的实用指南

如何快速理顺 AI 项目团队协作:多人开发四大坑的实用指南

如何快速理顺 AI 项目团队协作:多人开发四大坑的实用指南 【免费下载链接】ai-guide 程序员鱼皮的 AI 资源大全 Vibe Coding 零基础教程,分享 OpenClaw 保姆级教程、大模型玩法(DeepSeek / GPT / Gemini / Claude / GLM)、最新 A…

2026/10/1 1:18:31 阅读更多 →

最新新闻

arXiv每日论文分析报告:自动抓取、语义打分与结构化摘要实战

arXiv每日论文分析报告:自动抓取、语义打分与结构化摘要实战

1. 一份“每日论文分析报告”到底在解决什么问题每天早上打开 arXiv 的 cs.CL、cs.LG、cs.CV 几个分区,新论文加起来动辄两三百篇,光是标题列表往下滚就要花掉十几分钟。更麻烦的是,标题和摘要之间存在巨大的信息差——有些标题看着平平无奇&…

2026/10/1 18:37:45 阅读更多 →
PX4 SensorAccelFifo 消息深度解析:加速度计 FIFO 批量数据通路与原始计数换算

PX4 SensorAccelFifo 消息深度解析:加速度计 FIFO 批量数据通路与原始计数换算

嵌入式物联网机器人自动驾驶智能硬件 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 点击查看 免费下载 PX4 在常规的 sensor_accel(已标定加速度)消息之外&#xff0c…

2026/10/1 18:37:45 阅读更多 →
Debian系统深度解析:从包管理到网络与休眠控制的工程实践

Debian系统深度解析:从包管理到网络与休眠控制的工程实践

1. Debian是什么?它不是“另一个Linux”,而是一套精密运转的协作机制Debian是什么?这个问题看似简单,但如果你只回答“一个Linux发行版”,就像说“汽车就是四个轮子加个发动机”——技术上没错,但完全漏掉了…

2026/10/1 18:37:45 阅读更多 →
RAP 层次注解实战:从自引用表到 Fiori Elements Tree View

RAP 层次注解实战:从自引用表到 Fiori Elements Tree View

前阵子在做物料分类管理的 Fiori Elements 应用,数据量不大,一张 ytmclass 自引用表,无非就是 uuid 指向 parent_uuid 这种经典结构。第一版按普通 List Report 交付,岗位上的用户每天要看几千行分类,翻页翻得冒火&…

2026/10/1 18:37:45 阅读更多 →
Sass与Less对比:前端CSS预处理器选型与工程实践

Sass与Less对比:前端CSS预处理器选型与工程实践

写样式的时候要不要用预处理器?这个问题几乎每个前端都纠结过。我干了十多年前端,被问得最多的不是“怎么写CSS”,而是“Sass和Less到底选哪个”。网上教程一堆,但大多是抄官方文档,真正从项目实战角度把这事儿讲透的没…

2026/10/1 18:37:45 阅读更多 →
第一次编程作业实战:从读题到提交的完整流程

第一次编程作业实战:从读题到提交的完整流程

课程群里的通知弹出来时,我正对着教材第3章的目录发愁。标题只有一行字: 3.2第一次作业 。没有配图,没有额外解释,连提交方式都要自己点进附件里翻。头一回做这种需要交代码的作业,最折磨人的往往不是题目本身&#…

2026/10/1 18:36:44 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →