0Pricing
Cryptology Academy · 课时

什么是证书?X.509 结构

解析 SSL/TLS 证书中的各个字段

什么是证书?X.509 结构 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

欢迎

X.509 证书将公钥与身份绑定在一起。它是 HTTPS、电子邮件加密和代码签名的基础。让我们解读每个字段。

证书解决什么问题

任何人都可以生成 RSA 密钥对。没有证书时,攻击者可能用自己的公钥替换 Google 的公钥。证书是由 CA 签名的证明,表明某个公钥属于特定实体。

X.509 证书字段

版本(v3)、序列号(每个 CA 唯一)、签发者(CA 身份)、有效期(Not Before/Not After)、主体(所有者身份)、主体公钥信息、扩展、签名算法、签名。

主体名称(DN)

可分辨名称使用 LDAP 风格的属性: CN=example.com (Common Name) O=Example Corp (Organization) C=US (Country) 对于现代 TLS,主体备用名称(SAN)扩展承载实际的主机名。

主体备用名称(SAN)

SAN 会列出证书涵盖的所有主机名/IP: DNS:example.com DNS:www.example.com DNS:*.api.example.com 浏览器自 2017 年起要求使用 SAN;验证主机名时会忽略 CN 字段。

有效期

Not Before:最早生效日期。Not After:到期日期。Let's Encrypt 颁发有效期为 90 天的证书,以强制定期续期(限制泄露造成的损害)。大多数商业 CA 提供有效期为 1 至 2 年的证书。

证书中的公钥

证书在 SubjectPublicKeyInfo 中包含主体的公钥: - Algorithm: rsaEncryption or id-ecPublicKey - Key: DER-encoded public key bytes 这是用于 TLS 密钥交换或签名验证的密钥。

使用 OpenSSL 读取证书

# Inspect certificate from HTTPS site: openssl s_client -connect google.com:443 < /dev/null 2>/dev/null | openssl x509 -text -noout # Or from file: openssl x509 -in cert.pem -text -noout

DER 与 PEM 编码

DER:证书结构的二进制 ASN.1 编码。 PEM:用 Base64 编码的 DER,外层包裹 -----BEGIN CERTIFICATE----- 标头。 PEM 便于人类阅读,供 Web 服务器使用。DER 更紧凑,适合设备。

证书扩展 v3

主要扩展: - 基本约束:isCA(true/false)和 pathLen - 密钥用途:digitalSignature、keyEncipherment 等 - 扩展密钥用途:serverAuth、clientAuth、codeSigning - 主体密钥标识符(SKI)和颁发机构密钥标识符(AKI)

通配符证书

通配符证书(*.example.com)涵盖所有一级子域名:api.example.com、www.example.com 等。它 NOT 涵盖更深层的子域名(deep.api.example.com)。

快速检查

X.509 v3 证书中的哪个字段包含 TLS 有效主机名列表?

回顾

您现在已经能够读取并理解 X.509 证书。接下来我们将学习证书颁发机构和信任链如何验证这些证书。

常见问题解答

「什么是证书?X.509 结构」课时是免费的吗?

是的 — 「什么是证书?X.509 结构」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「什么是证书?X.509 结构」这节课中我会学到什么?

解析 SSL/TLS 证书中的各个字段 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「什么是证书?X.509 结构」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 什么是证书?X.509 结构
  2. 证书颁发机构与信任链
  3. 证书撤销:CRL 与 OCSP
  4. 使用 OpenSSL 创建自签名证书
← 返回 Cryptology Academy