CyberChef 解析 X.509 证书

分类:安全 Operation:Parse X.509 Certificate
X.509 SSL/TLS 证书 PKI 密码学

什么是 X.509?

X.509 是 ITU-T 制定的标准,用于公钥基础设施(PKI)与特权管理基础设施(PMI),规定了公钥证书的格式。此类证书广泛用于多种互联网协议,包括用于 HTTPS 的 TLS/SSL(保护网页浏览)、邮件加密(S/MIME)、代码签名以及各类身份认证机制。

X.509 证书将身份(如域名、组织或个人)与公钥绑定,并由受信任的证书颁发机构(CA)以数字签名背书。通信双方据此可验证公钥是否属于声称的主体,这是互联网安全通信的基础之一。

日常接触:浏览器地址栏出现锁形图标、表示 HTTPS 连接时,就在使用 X.509 证书校验站点身份并协商加密。浏览器会检查证书,以降低连接到仿冒站点的风险。

证书结构

X.509 证书包含若干按标准组织的关键部分:

Version(版本)
证书格式版本(v1、v2 或 v3)。现代证书多为 v3,支持扩展字段。
Serial Number(序列号)
CA 分配的唯一编号,用于追踪与吊销。
Signature Algorithm(签名算法)
签署证书所用的算法(如 SHA256-RSA、ECDSA)。
Issuer(颁发者)
签发该证书的 CA 的可分辨名称(DN)。
Validity Period(有效期)
Not Before / Not After,定义证书生效区间。
Subject(主体)
证书持有者 DN(域名、组织或个人等)。
Subject Public Key Info
公钥及算法标识(RSA、ECDSA 等)。
Extensions(v3 扩展)
如 SAN、密钥用法(Key Usage)、扩展密钥用法(EKU)等。
Signature(签名)
CA 对证书内容的数字签名,用于验证真实性。

证书编码格式

X.509 证书可用多种编码表示:

PEM(Privacy-Enhanced Mail)

Base64 文本,外加 BEGIN/END 标记。Web 服务器与应用中最常见。

-----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAKL0UG+mRcSdMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTcwODIyMDUwNTI5WhcNMTgwODIyMDUwNTI5WjBF ... -----END CERTIFICATE-----

DER(Distinguished Encoding Rules)

二进制格式。常见于 Java 部分场景及某些 Windows 环境。

PKCS#7 / P7B

可包含多条证书(证书链),用于分发。

PKCS#12 / PFX

二进制容器,可同时存放证书与私钥,常带口令保护。

格式转换:CyberChef 可解析 PEM 或 DER。若为其他容器格式,可能需先用其他 Operation 转换,例如对 PEM 文本使用 From Base64,或直接输入 DER 二进制。

在 CyberChef 中使用 Parse X.509 Certificate

Parse X.509 Certificate 会把证书字段提取并以人类可读形式展示,便于检查证书、排查 SSL/TLS 问题、安全审计与理解属性。

解析步骤:

  1. 取得证书(文件、站点导出等)
  2. 粘贴到 CyberChef 的 Input(PEM 或 DER)
  3. 添加 Parse X.509 certificate Operation
  4. 在 Output 查看解析结果
  5. 重点查看有效期、Subject、扩展等字段
解析结果示例(示意,与工具输出风格类似)
Version: 3 Serial Number: 4a:f7:21:3f:8c:b2:4e:19 Signature Algorithm: SHA256-RSA Issuer: Country (C): US Organization (O): Let's Encrypt Common Name (CN): R3 Validity: Not Before: 2024-01-15 00:00:00 UTC Not After: 2024-04-15 23:59:59 UTC Subject: Common Name (CN): example.com Subject Public Key Info: Algorithm: RSA Key Size: 2048 bits Public Key: 30:82:01:0a:02:82:01:01:00... Extensions: Key Usage: Digital Signature, Key Encipherment Extended Key Usage: TLS Web Server Authentication Subject Alternative Names: - example.com - www.example.com Authority Key Identifier: 14:2e:b3:17:b7... Subject Key Identifier: 3d:af:54:21:e8... Signature: 8a:7f:3e:21:9c:4b...

常见用途

1. 核对证书信息

部署到服务器前,确认域名、有效期、颁发者等是否符合预期。

2. 排查 SSL/TLS 故障

站点报证书错误时,解析证书以判断是否过期、域名不匹配或颁发者不受信任等。

3. 安全审计

检查弱算法(MD5、SHA1)、过短密钥(RSA 小于 2048 位)或扩展配置不当等问题。

4. 续期管理

查看多张证书的到期时间,规划续期,避免服务中断。

5. 理解证书链

解析中间证书与根证书,理解从终端实体证书到受信任根的链路。

6. 合规核对

对照组织或监管要求(密钥长度、有效期、允许的 CA 等)。

重要字段说明

Subject Alternative Names(SAN)

现代证书常用 SAN 列出所有适用域名;一张证书可覆盖多个域名与子域。

Subject Alternative Names: DNS: example.com DNS: www.example.com DNS: mail.example.com DNS: *.api.example.com

Key Usage(密钥用法)

限定公钥可用于:

Extended Key Usage(扩展密钥用法)

进一步限制用途,例如:

Authority Information Access(AIA)

给出可获取上级证书、OCSP 响应者等的 URL,用于校验路径与在线吊销状态。

CRL Distribution Points

可下载 CRL 的地址,用于检查证书是否已被吊销。

如何取得待分析证书

从网站(浏览器)

  1. 点击地址栏锁形或站点信息图标
  2. 选择「证书」或「查看证书」等项
  3. 导出或复制为 PEM
  4. 粘贴到 CyberChef 解析

使用 OpenSSL 命令行

# 从站点获取证书 openssl s_client -connect example.com:443 -showcerts # 仅提取证书(PEM) openssl s_client -connect example.com:443 2>/dev/null | \ openssl x509 -outform PEM # 查看详情(与 CyberChef 互为补充) openssl x509 -in certificate.pem -text -noout

从文件

若已有 .crt.cer.pem 等,直接读取内容粘贴即可。

校验与信任

信任链

X.509 通常呈层级结构:

  1. 根 CA:自签名,由操作系统/浏览器预置信任
  2. 中间 CA:由根签发,再签发终端实体证书
  3. 终端实体证书:面向网站或服务的实体证书

典型校验项

验证时会检查例如:

安全提示:在 CyberChef 中「解析」只展示内容,并不等同于「信任」。结构合法仍可能是不可信 CA 签发、已过期或已吊销。必须通过完整校验流程判断可信度。

常见问题一览

问题 说明 如何识别
已过期 当前时间晚于 Not After 查看解析结果中的有效期
尚未生效 当前时间早于 Not Before 查看有效期起始时间
域名不匹配 证书签发给其他域名 查看 Subject CN 与 SAN
自签名 Issuer 与 Subject 相同 对比颁发者与主体 DN
弱签名算法 使用 MD5、SHA1 等过时算法 查看 Signature Algorithm
密钥过短 RSA 长度不足 2048 位 查看公钥位数
缺少 SAN 无 Subject Alternative Name 扩展 查看扩展列表

扩展字段进阶

Critical 与 Non-Critical

扩展可标为关键(critical)或非关键。若实现无法理解某关键扩展,应拒绝该证书;非关键扩展可被忽略。

常见扩展

CyberChef Recipe 思路

与证书解析相关的组合示例:

实践建议

部署证书

分析证书

自动化:许多组织会自动化监控到期与弱配置。CyberChef 适合人工核对、培训与临时排障,可与专业 PKI/监控流程配合使用。
← 返回操作指南