Skip to content

我是我自己——论获取 HTTPS 证书时的验证步骤

Published: at 11:12

从二月咕到现在的文章

其实仔细阅读 [这篇文章] 就可以了(

随着 https 的普及,免费证书的诞生,越来越多的网站选择使用 https 来保障端对端通信的安全性。

https 的基础是 TLS,而 TLS 是基于 PKI 的,这就要求希望获得证书的网站证明这个网站就是自己。只有你自证之后,CA 才能向他人证明你就是你,授信访问才能够得以安全实现。

那么,你要如何证明你就是你自己呢?

ToC

HTTP-01 认证

最简单的方式就是 http 了。你只要在服务器上提供这样一个文件,而文件的内容和要求的一样就行了。

当你提供了这样的文件,那也就意味着你对这个域名有所有权,因此这个子域名的证书可以颁发给你。

在实际的流程中,不仅规定了文件,还规范了文件存放的目录。通常是 http://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>

DNS-01 认证

当服务器暂时不可用,或 80 端口不可用时,你就需要用到 DNS 认证了。

证明一个域名从属权最简单的方式就是增加 TXT 记录了,这种验证方式也是利用了这个原理。只需要增加 _acme-challenge.<YOUR_DOMAIN> 记录,就可以证明这个域名是属于你的,从而可以将这个域名的证书颁发给你。

同时,由于你可以操作 DNS 记录,因此这种认证方式还可以颁发通配符证书

结语

清理一下草稿箱(

在了解验证流程之后,我们就可以理解某些错误出现的原因了。如 HTTP-01 验证失败可能是因为对应的文件不存在,如果有 CDN 的话可能是因为 CDN 回源错误等。DNS-01 验证失败可能是因为 DNS 未更新等。

总之现在的证书申请流程已经很自动化了,遇到错误,就……等等?(笑


Previous Post
【设计文档】对 PUG 的大规模设计修订(1.1)
Next Post
YukiNative 踩坑记——Windows 的消息队列