网站如何获得 SSL 证书
了解证书签发流程——从 CSR、验证到部署
网站如何获得 SSL 证书 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
证书颁发机构层级
证书信任系统采用层级结构。根 CA 使用自签名证书,并内置于操作系统和浏览器中。中间 CA 由根 CA 签名,实际负责签发证书。
这种双层结构可以让根 CA 私钥保持离线并与网络物理隔离。如果中间 CA 被攻破,可以在不修改根 CA 信任锚点的情况下吊销其签发的证书。
域名验证流程
要获取 DV 证书,申请者必须证明自己控制该域名。ACME 有三种标准验证挑战:DNS 挑战(向域名的 DNS 添加 TXT 记录)、HTTP 挑战(在特定网址放置特定文件)以及 TLS-ALPN 挑战(在 TLS 协商期间提供特定证书)。
这三种方法都能确认申请者控制该域名的 DNS 或该域名对应的网页服务器。这可以防止他人为自己不控制的域名获取证书。
ACME 协议
ACME(自动证书管理环境,RFC 8555)是 Let's Encrypt 使用、并得到大多数现代 CA 支持的协议。它可以自动完成整个证书生命周期:验证挑战、验证、签发和续期。
ACME 允许网页服务器在无需人工干预的情况下自动获取和续期证书。Certbot、acme.sh 以及大多数网页服务器都内置了 ACME 客户端,使证书管理几乎无需维护。
创建 CSR
证书签名请求(CSR)是一段数据,其中包含申请者的公钥以及有关实体的信息(域名、组织和国家/地区)。CSR 使用对应的私钥签名,以证明申请者持有该私钥。
CA 会验证 CSR,核实域名控制权证明,然后签发证书,将 CSR 中的公钥绑定到已验证的域名。私钥始终不会离开服务器。
证书字段
X.509 证书包含:主体(正在认证的身份)、主体备用名称(SAN,即额外的域名)、签发者(为证书签名的 CA)、有效期(起始时间和结束时间)、公钥及算法,以及 CA 的数字签名。
现代证书使用 SAN,而不是较早的通用名称字段来表示域名。证书可以在 SAN 字段中列出多个域名,因此一张证书可以覆盖多个相关域名。
Let's Encrypt 免费证书
Let's Encrypt 由互联网安全研究组织于 2016 年推出,使用完全自动化的 ACME 验证挑战来签发免费的 DV 证书。它已经签发了超过 30 亿张证书,大幅加快了 HTTPS 的普及。
Let's Encrypt 证书的有效期为 90 天,比商业 CA 证书更短,并且必须定期续期。较短的有效期是有意设计的:如果证书被攻破,可以限制暴露时间,同时鼓励自动化。
商业 CA 及其价值
DigiCert、Sectigo 和 GlobalSign 等商业 CA 会收取证书费用,但也提供额外服务:OV 和 EV 验证(包括组织身份验证)、多年期证书、错误签发赔付保障以及客户支持。
对于需要 OV 或 EV 证书、要求更长有效期,或需要商业赔付保障和服务级别协议的组织来说,商业 CA 能提供免费 DV 证书提供商无法提供的价值。
通配符证书
通配符证书覆盖一个域名及其所有直接子域名。针对 *.example.com 的证书可以覆盖 mail.example.com、www.example.com 和 api.example.com,但不能覆盖 sub.mail.example.com。
对于拥有许多子域名的组织来说,通配符证书很方便。但是,所有子域名都由同一个私钥保护,因此一台服务器被攻破,就会危及该证书所覆盖的所有子域名。
多域名 SAN 证书
主体备用名称(SAN)证书也称为多域名证书或 UCC 证书,它会明确列出多个域名。与通配符证书不同,它覆盖的是明确列出的域名,而不是某种匹配模式。
SAN 证书常用于相关站点:一张证书可能覆盖 example.com、www.example.com、app.example.com 和 example.io。每个域名都需要单独验证,但一张证书可以覆盖全部域名。
证书固定与 HPKP
证书固定会指示客户端针对指定域名只接受特定证书或公钥,并忽略它不认识的 CA 签发证书。这可以防止利用恶意 CA 签发证书发起的攻击。
HTTP 公钥固定(HPKP)曾是浏览器中的一种证书固定机制。由于配置错误可能永久阻止用户访问网站,它已被弃用,并在 2019 年前后从浏览器中移除。如今,证书透明度是检测证书滥用的首选机制。
证书吊销:OCSP 和 CRL
当证书被攻破时,CA 可以在证书到期前将其吊销。证书吊销列表(CRL)是一个包含已吊销证书序列号的列表,客户端可以下载并检查该列表。
OCSP(在线证书状态协议)支持实时检查每张证书的吊销状态。OCSP 装订可以改善隐私和性能:服务器会预先获取经过签名的 OCSP 响应,并将其包含在 TLS 握手中,这样浏览器就不必联系 CA。
证书验证测验
测试您对证书验证类型的了解。
要点:获取 SSL 证书
证书通过 CA 层级签发:根 CA 为中间 CA 签名,中间 CA 再签发终端实体证书。DV 证书只验证域名控制权;OV 和 EV 还会验证组织身份。
ACME 会自动完成证书签发和续期。Let's Encrypt 会签发有效期为 90 天的免费 DV 证书。通配符证书覆盖所有直接子域名。证书透明度日志为所有已签发证书提供可审计的记录。
常见问题解答
「网站如何获得 SSL 证书」课时是免费的吗?
是的 — 「网站如何获得 SSL 证书」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「网站如何获得 SSL 证书」这节课中我会学到什么?
了解证书签发流程——从 CSR、验证到部署 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「网站如何获得 SSL 证书」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 挂锁图标:它真正代表什么
- 网站如何获得 SSL 证书
- TLS 证书警告与应对方法
- HTTP 降级与混合内容风险