当前位置: 首页 > article >正文

X.509证书格式(SPDM协议)

字段名称含义用途示例待签名内容(tbsCertificate)Version (版本)含义: 证书版本号。取值:v1(0), v2(1), v3(2)。互联网 PKI 必须使用 v3 (值为 2)。告诉解析程序该按照哪个标准来读取后续的字段目前绝大多数为v3。Version: 3 (0x2)Serial Number (序列号)含义:CA 分配的唯一编号。证书的“身份证号”。在吊销证书CRL时CA 就是通过这个号码来精准定位作废证书的。Serial Number: 8 (0x8)Signature (签名算法)含义CA 签发此证书所用的算法。枚举值如 ecdsa-with-SHA256, sha256WithRSAEncryption, SM3WithSM2。提前告知验证者“一会儿请用这个算法去解密和校验我的签名”。Signature Algorithm: ecdsa-with-SHA256Issuer (颁发者)[1]含义签发该证书的 CA 身份信息DN格式。枚举值包含 C(国家), O(组织), CN(通用名) 等。指明“谁发的证”。验证者需要根据这个名字去寻找上一级 CA 的证书以获取验签公钥。Issuer: C CA, ST NC, L city, O ACME, OU ACME Devices, CN CAValidity (有效期)含义证书的生命周期时间窗口。枚举值Not Before (起始时间) 和 Not After (截止时间)。确保证书仅在特定时间段内可信过期后必须重新申请或续期。Validity Not Before: Jan 1 00:00:00 1970 GMT Not After : Dec 31 23:59:59 9999 GMTSubject (主体)含义证书持有者的身份信息DN格式。枚举值包含域名(CN)、公司(O)、部门(OU) 等。Subject: C US, ST NC, O ACME Widget Manufacturing, OU ACME Widget Manufacturing Unit, CN w0123456789SubjectPublicKeyInfo (主体公钥信息)含义持有者的公钥及算法标识。枚举值RSA 公钥含模数Modulus、指数Exponent、ECC 公钥含曲线参数、点位坐标。证书的核心资产。1. 后续通信中如TLS 握手、SPDM 挑战对方将用这个公钥来加密数据或验证持有者的签名。2.它的下一级的签名值使用这个公钥验签Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) Modulus: 00:ba:67:47:72:78:da:28:81:d9:81:9b:db:88:03: e1:10:a4:91:b8:48:ed:6b:70:3c:ec:a2:68:a9:3b: 5f:78:fc:ae:4a:d1:1c:63:76:54:a8:40:31:26:7f: ff:3e:e0:bf:95:5c:4a:b4:6f:11:56:ca:c8:11:53: 23:e1:1d:a2:7a:a5:f0:22:d8:b2:fb:43:da:dd:bd: 52:6b:e6:a5:3f:0f:3b:60:b8:74:db:56:08:d9:ee: a0:30:4a:03:21:1e:ee:60:ad:e4:00:7a:6e:6b:32: 1c:28:7e:9c:e8:c3:54:db:63:fd:1f:d1:46:20:9e: ef:80:88:00:5f:25:db:cf:43:46:c6:1f:50:19:7f: 98:23:84:38:88:47:5d:51:8e:11:62:6f:0f:28:77: a7:20:0e:f3:74:27:82:70:a7:96:5b:1b:bb:10:e7: 95:62:f5:37:4b:ba:20:4e:3c:c9:18:b2:cd:4b:58: 70:ab:a2:bc:f6:2f:ed:2f:48:92:be:5a:cc:5c:5e: a8:ea:9d:60:e8:f8:85:7d:c0:0d:2f:6a:08:74:d1: 2f:e8:5e:3d:b7:35:a6:1d:d2:a6:04:99:d3:90:43: 66:35:e1:74:10:a8:97:3b:49:05:51:61:07:c6:08: 01:1c:dc:a8:5f:9e:30:97:a8:18:6c:f9:b1:2c:56: e8:67 Exponent: 65537 (0x10001)扩展基本约束 (Basic Constraints)枚举值CA:TRUE 或 CA:FALSE。判定该证书是否有权签发下级证书。终端实体如你的设备证书必须标记为 CA:FALSE防止其被滥用来伪造其他证书。X509v3 Basic Constraints: CA:FALSE密钥用途 (Key Usage)枚举值Digital Signature(数字签名), Key Encipherment(密钥加密), Key Cert Sign(签发证书), CRL Sign 等。基础权限限制。比如限制了只能用于“数字签名”那么这张证书的公钥就不能被拿去加密数据缩小了私钥泄露后的破坏半径。X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment扩展密钥用途 (Extended Key Usage/EKU)枚举值• 互联网serverAuth(服务器认证), clientAuth(客户端认证), codeSigning(代码签名)• SPDM专用id-DMTF-spdm-responder(响应方认证), id-DMTF-spdm-requester(请求方认证)。行业专属的高级权限定义。正如我们之前讨论的SPDM 协议就是在这里填入专属 OID来区分硬件设备的角色。主体备用名称 (Subject Alternative Name/SAN)枚举值DNS Name(域名), IP Address, Email, Other Name(自定义OID) 等。解决 Subject 字段只能写一个名字的局限。现代证书主要靠 SAN 字段来支持多域名如一张证书同时保护 example.com 和 www.example.com。X509v3 Subject Alternative Name:othername: 1.3.6.1.4.1.412.274.1::ACME:WIDGET:0123456789Authority Key IdentifierSubject Key IdentifierCRL Distribution PointsCertificate PoliciesPolicy MappingsName ConstraintsPolicy ConstraintsInhibit anyPolicy签名算法/含义同上重复出现一次。枚举值与 tbsCertificate 中的签名算法完全一致。冗余设计确保解析程序在处理完所有明文信息后依然明确知道该用什么算法来验证最后的签名值。Signature Algorithm: ecdsa-with-SHA256签名值/含义CA 私钥加密后的哈希摘要。枚举值一串不定长的二进制比特串如 ECDSA 签名通常是两个大整数 R 和 S 的组合。证书的“防伪钢印”。验证者用 CA 的公钥验签这段数据此确认证书的完整性和真实性。Signature Value: 30:45:02:20:1e:5a:a6:ed:5c:b6:2b:f5:9e:22:28:9c:ef:c7: aa:db:1c:87:83:48:c1:50:cb:25:04:ab:c9:6e:7c:f5:6b:01: 02:21:00:da:48:d4:49:a5:65:5c:2c:83:fc:05:00:66:48:98: f8:f0:cb:63:b7:2e:87:db:c8:63:58:6c:21:91:7a:68:95整体示例Certificate:Data:Version:3 (0x2)Serial Number:8 (0x8)Signature Algorithm:ecdsa-with-SHA256Issuer: C CA, ST NC, L city, O ACME, OU ACME Devices, CN CAValidityNot Before: Jan 1 00:00:00 1970 GMTNot After : Dec 31 23:59:59 9999 GMTSubject:C US, ST NC, O ACME Widget Manufacturing, OU ACME Widget Manufacturing Unit, CN w0123456789Subject Public Key Info:Public Key Algorithm: rsaEncryptionRSA Public-Key: (2048 bit)Modulus:00:ba:67:47:72:78:da:28:81:d9:81:9b:db:88:03:e1:10:a4:91:b8:48:ed:6b:70:3c:ec:a2:68:a9:3b:5f:78:fc:ae:4a:d1:1c:63:76:54:a8:40:31:26:7f:ff:3e:e0:bf:95:5c:4a:b4:6f:11:56:ca:c8:11:53:23:e1:1d:a2:7a:a5:f0:22:d8:b2:fb:43:da:dd:bd:52:6b:e6:a5:3f:0f:3b:60:b8:74:db:56:08:d9:ee:a0:30:4a:03:21:1e:ee:60:ad:e4:00:7a:6e:6b:32:1c:28:7e:9c:e8:c3:54:db:63:fd:1f:d1:46:20:9e:ef:80:88:00:5f:25:db:cf:43:46:c6:1f:50:19:7f:98:23:84:38:88:47:5d:51:8e:11:62:6f:0f:28:77:a7:20:0e:f3:74:27:82:70:a7:96:5b:1b:bb:10:e7:95:62:f5:37:4b:ba:20:4e:3c:c9:18:b2:cd:4b:58:70:ab:a2:bc:f6:2f:ed:2f:48:92:be:5a:cc:5c:5e:a8:ea:9d:60:e8:f8:85:7d:c0:0d:2f:6a:08:74:d1:2f:e8:5e:3d:b7:35:a6:1d:d2:a6:04:99:d3:90:43:66:35:e1:74:10:a8:97:3b:49:05:51:61:07:c6:08:01:1c:dc:a8:5f:9e:30:97:a8:18:6c:f9:b1:2c:56:e8:67Exponent: 65537 (0x10001)X509v3 extensions:X509v3 Basic Constraints:CA:FALSEX509v3 Key Usage:Digital Signature, Non Repudiation, Key EnciphermentX509v3 Subject Alternative Name:othername: 1.3.6.1.4.1.412.274.1::ACME:WIDGET:0123456789Signature Algorithm:ecdsa-with-SHA256Signature Value:30:45:02:20:1e:5a:a6:ed:5c:b6:2b:f5:9e:22:28:9c:ef:c7:aa:db:1c:87:83:48:c1:50:cb:25:04:ab:c9:6e:7c:f5:6b:01:02:21:00:da:48:d4:49:a5:65:5c:2c:83:fc:05:00:66:48:98:f8:f0:cb:63:b7:2e:87:db:c8:63:58:6c:21:91:7a:68:95-----BEGIN CERTIFICATE-----MIIC4jCCAoigAwIBAgIBCDAKBggqhkjOPQQDAjBcMQswCQYDVQQGEwJDQTELMAkGA1UECAwCTkMxDTALBgNVBAcMBGNpdHkxDTALBgNVBAoMBEFDTUUxFTATBgNVBAsMDEFDTUUgRGV2aWNlczELMAkGA1UEAwwCQ0EwIBcNNzAwMTAxMDAwMDAwWhgPOTk5OTEyMzEyMzU5NTlaMH0xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOQzEiMCAGA1UECgwZQUNNRSBXaWRnZXQgTWFudWZhY3R1cmluZzEnMCUGA1UECwweQUNNRSBXaWRnZXQgTWFudWZhY3R1cmluZyBVbml0MRQwEgYDVQQDDAt3MDEyMzQ1Njc4OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALpnR3J42iiB2YGb24gD4RCkkbhI7WtwPOyiaKk7X3j8rkrRHGN2VKhAMSZ//z7gv5VcSrRvEVbKyBFTIEdonql8CLYsvtD2t29UmvmpT8PO2C4dNtWCNnuoDBKAyEe7mCt5AB6bmsyHChnOjDVNtj/R/RRiCe74CIAF8l289DRsYfUBl/mCOEOIhHXVGOEWJvDyh3pyAO83QngnCnllsbuxDnlWL1N0u6IE48yRiyzUtYcKuivPYv7S9Ikr5azFxeqOqdYOj4hX3ADS9qCHTRLhePbc1ph3SpgSZ05BDZjXhdBColztJBVFhB8YIARzcqFeMJeoGGz5sSxW6GcCAwEAAaNNMEswCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwMQYDVR0RBCowKKAmBgorBgEEAYMcghIBoBgMFkFDTUU6V0lER0VUOjAxMjM0NTY3ODkwCgYIKoZIzj0EAwIDSAAwRQIgHlqm7Vy2K/WeIiic78eq2xyHg0jBUMslBKvJbnz1awECIQDaSNRJpWVcLIP8BQBmSJj48Mtjty6H28hjWGwhkXpolQ-----END CERTIFICATE-----

相关文章:

X.509证书格式(SPDM协议)

字段名称含义用途示例待签名内容(tbsCertificate)Version (版本)含义: 证书版本号。取值: v1(0), v2(1), v3(2)。互联网 PKI 必须使用 v3 (值为 2)。告诉解析程序该按照哪个标准来读取后续的字段(目前绝大多数为 v3)。Version: 3 (0x2)Serial Number (序…...

别再只会调P了!手把手教你调试STM32的PID参数,让恒流源输出又快又稳

从震荡到稳定:STM32恒流源PID参数调试实战指南 引言 当你的恒流源电路出现输出波动、响应迟缓或无法精确跟踪设定值时,问题往往不在硬件本身。许多工程师在完成LM324运放和三极管搭建的硬件平台后,面对不理想的电流控制效果,第一反…...

小红书无水印下载全攻略:如何用XHS-Downloader高效保存优质内容

小红书无水印下载全攻略:如何用XHS-Downloader高效保存优质内容 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户…...

告别串口打印!用STM32+DS18B20做个OLED温湿度计(HAL库+SSD1306)

STM32实战:打造OLED温湿度监测系统(DS18B20SSD1306) 每次调试嵌入式项目时,盯着串口助手看数据总有种隔靴搔痒的感觉。最近在工作室整理零件时,发现抽屉里还躺着几片0.96寸OLED和DS18B20温度传感器,突然萌生…...

【实用程序】基于 Java 的简易HTTP 反向代理

本站内的程序及源代码下载地址。 第一章 概述 本项目是一个基于 Java 的简易 HTTP 反向代理实现。反向代理(Reverse Proxy)的核心职责是代表客户端向目标服务器发起请求,并将目标服务器的响应透明地返回给客户端。客户端感知不到后端真实服务的存在,所有交互都通过代理层…...

力扣算法面试150题——个人笔记——复习用

双指针 第一题: 125. 验证回文串https://leetcode.cn/problems/valid-palindrome/ 题目内容 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母…...

服务号版本:weixin-java-mp=4.8.3.B,spring-boot=3.3.1,httpclient5=5.5.2

文章目录 引言 I 微信绑定服务号 II 推荐使用成熟 SDK 基于微信code登录:前端先调用loginByWxCode接口 解绑 依赖版本冲突 III httpclient5版本问题 问题 分析 解决方案: 强制锁定 HttpClient 5.5.2 IV httpcore5版本冲突问题 问题 分析 解决方案 引言 本文介绍了微信开发中…...

Python之vyvert包语法、参数和实际应用案例

一、vyvert 包概述(Python) vyvert(0.1.0)是一个轻量级依赖注入(DI)库,灵感来自 pytest 与 FastAPI,主打简洁注解式注入、自动依赖解析、异步兼容。 定位:非侵入式 DI&am…...

Unity UI布局避坑指南:搞懂LayoutGroup里Control Child Size和Child Force Expand到底怎么选

Unity UI布局深度解析:Control Child Size与Child Force Expand实战决策指南 在Unity的UI系统开发中,LayoutGroup组件就像一位严格的舞台导演,而UI元素则是需要精准定位的演员。当导演的指令(属性配置)不够明确时&…...

用LAMMPS做材料分析?手把手教你用Ovito绘制应力、温度、速度云图(附完整脚本)

从LAMMPS到Ovito:材料模拟数据可视化的全流程实战指南 在计算材料科学领域,分子动力学模拟产生的海量数据如何转化为直观、可发表的科学图表,一直是研究者面临的挑战。本文将系统介绍从LAMMPS模拟到Ovito可视化的完整工作流,重点解…...

Phyphox实验避坑指南:测声速时管长、温度、管口校正那些事儿

Phyphox声速测量实验的进阶精度优化手册 在物理实验教学中,声速测量一直是验证波动理论的基础实践。但当智能手机传感器遇上共振管法,看似简单的实验背后藏着诸多魔鬼细节——管口切割的平整度会引入0.5%的误差,手掌温度能在3分钟内使铝管共振…...

如何在5分钟内制作专业滚动歌词?LRC Maker免费在线工具终极指南

如何在5分钟内制作专业滚动歌词?LRC Maker免费在线工具终极指南 【免费下载链接】lrc-maker 歌词滚动姬|可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 你是否曾为制作歌词时间轴而烦恼&#x…...

LVGL事件处理实战:从按钮点击到滚动列表,手把手教你写交互代码(附避坑指南)

LVGL事件处理实战:从按钮点击到滚动列表,手把手教你写交互代码(附避坑指南) 在嵌入式GUI开发中,流畅的交互体验往往决定了产品的成败。LVGL作为轻量级通用图形库,其事件处理机制是构建动态界面的核心。本文…...

保姆级教程:在PX4 1.13.3固件中,为你的地面小车添加一个自定义机型

在PX4 1.13.3中为差速驱动地面小车构建完整自定义机型方案 当我们需要将PX4飞控生态应用于非无人机平台时,地面小车(Rover)往往是最先考虑的方向。与标准无人机机型不同,地面移动平台在动力学模型、控制参数和硬件接口等方面都存在…...

从Verilog到GDS:用Calibre nmLVS-H模式搞定复杂芯片的层级化物理验证

从Verilog到GDS:用Calibre nmLVS-H模式搞定复杂芯片的层级化物理验证 在当今超大规模集成电路设计中,物理验证已成为确保芯片功能正确的最后一道防线。随着工艺节点不断微缩,设计复杂度呈指数级增长,传统的扁平化验证方法已难以应…...

火灾模拟终极指南:5步快速上手FDS软件

火灾模拟终极指南:5步快速上手FDS软件 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 你是否曾想知道,如何在火灾发生前预测烟雾如何扩散?如何评估建筑的消防安全设计是否达标&#…...

歌词滚动姬终极指南:免费快速制作专业LRC歌词的完整教程

歌词滚动姬终极指南:免费快速制作专业LRC歌词的完整教程 【免费下载链接】lrc-maker 歌词滚动姬|可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 歌词滚动姬(LRC Maker)是…...

深耕财税赋能+精准GEO推广 好账本兰宝玺双线发力助企破局

在数字经济飞速发展的当下,财税服务的专业性与营销推广的精准度,成为中小微企业稳健成长的两大核心支撑。深耕苏州、昆山财税领域八年的98后实干者兰宝玺,依托好账本财税平台的坚实后盾,不仅以精细化财税服务为创业者保驾护航&…...

如何快速备份微信聊天记录:Mac用户的完整解决方案

如何快速备份微信聊天记录:Mac用户的完整解决方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾经因为误删重要微信聊天记录而懊恼不已&#xff1f…...

在Matlab中绘制横直方图

在“在Matlab中绘制二维直方图”和“在Matlab中绘制三维直方图”中,得到的直方图都是竖直方向的图形,即竖直方图。这篇博文在此基础上绘制横直方图,只需要把bar( )函数和 bar3( )函数分别调整为barh( )函数和 bar3h( )函数即可。在命令窗口输…...

如何高效使用Alas:碧蓝航线自动化智能助手终极指南

如何高效使用Alas:碧蓝航线自动化智能助手终极指南 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 厌倦了每天重…...

Codex+Coze自动化工作流实战

Codex(特指OpenAI的编程特化AI Agent)与Coze(扣子)平台的结合,能够实现从自然语言描述到可运行自动化流程的端到端生成。其核心在于利用Codex强大的代码理解和生成能力,来编写、调试并封装符合Coze平台规范…...

从用户吐槽到功能升级:我们如何用sunny-video优化了uniapp视频课件的学习体验

从用户痛点到产品升级:sunny-video如何重塑uniapp视频学习体验 在线教育产品的核心价值在于高效传递知识,而视频播放体验往往成为用户留存的关键瓶颈。去年第三季度,我们团队收到超过1200条用户反馈,其中67%集中抱怨两个问题&…...

设计个人日常用品消耗周期测算程序,测算洗护生活用品消耗速度,提前规划采购时间。

个人日常用品消耗周期测算程序——基于 Python 的生活消耗建模实验一、实际应用场景描述在城市生活中,大多数人都会遇到这些情况:- 洗发水、牙膏、洗衣液突然用完- 临时补货导致时间成本增加- 囤货过多造成过期或占用空间- 无法判断“多久买一次才合理”…...

从DJI N3到PX4:高飞老师组px4ctrl状态机实战解析与避坑指南

从DJI N3到PX4:状态机设计与控制逻辑迁移实战指南 在无人机飞控系统开发领域,状态机设计一直是核心难点之一。当开发者需要从DJI N3平台迁移到PX4生态时,控制逻辑的差异往往成为最大的技术障碍。本文将深入解析两种平台的状态机实现差异&…...

告别盲测!用CANoe回放功能搭建你的车载网络自动化测试环境

告别盲测!用CANoe回放功能搭建你的车载网络自动化测试环境 车载网络测试工程师们是否经常遇到这样的困境:每次路试或台架测试后,堆积如山的CAN日志只能用于临时问题排查,无法形成可复用的测试资产?当需要验证某个历史问…...

如何从视频中智能提取PPT内容:3步完成自动化内容转换

如何从视频中智能提取PPT内容:3步完成自动化内容转换 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 你是否曾经花费数小时观看会议录像或教学视频,只为手动截…...

遥感转码占比3.16%:为什么比测绘、地信少?

年初时我们统计过一个数据,2025年所有转GIS开发的同学中,遥感转码的人数占比约3.16%,远低于地信(36.84%)和测绘(20.52%),甚至不如城乡规划(8.95%)多。都说3S不…...

ViGEmBus虚拟游戏控制器驱动:从零开始掌握Windows手柄模拟技术

ViGEmBus虚拟游戏控制器驱动:从零开始掌握Windows手柄模拟技术 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想在Windows电脑上使用任意手柄玩…...

深度掌控AMD Ryzen:解锁处理器底层调试与性能调优终极指南

深度掌控AMD Ryzen:解锁处理器底层调试与性能调优终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...