请教一下 Let's Encrypt 的 DNS 方式验证的流程(或原理)?

2016-04-03 19:08:18 +08:00
 abelyao

今天下午在 Jerry Qu 博客上这篇文章 的帮助下,终于成功尝试签发了一个 Let's Encrypt 的证书,并且是 ECC 的。
但感觉流程还是略微麻烦,而且需要占用 80 端口,虽然时间很短。

听说现在 Let's Encrypt 已经支持 DNS 域名验证了,大概就是在 DNS 中添加一条 _acme-challenge 的 TXT 记录,然后 Let's Encrypt 会去验证这个域名返回的 TXT 是否正确。不知道这样理解对不对?

那请问这个 TXT 的值是什么内容?有没有官方文档可以看呢?
如果能够弄明白,想尝试做一个 GUI 客户端,提供一种更简单更直观的签发流程。

希望各位 V 友不吝赐教,谢谢!

11265 次点击
所在节点    SSL
8 条回复
abelyao
2016-04-03 19:09:18 +08:00
顺便召唤一下博主 @qgy18 ,感谢你的文章!
clanned
2016-04-03 19:20:37 +08:00
嘿嘿,又到了安利的时间~ https://github.com/xdtianyu/scripts/tree/master/le-dns

你的理解是对的,流程大致是:

客户端向 le 服务器请求 www.example.com 的证书( dns 验证方式) -> le 返回待确认的 text 记录 -> 客户端更新 dns text 解析 -> le 验证 dns 记录 -> le 签发证书。
abelyao
2016-04-03 19:42:04 +08:00
@clanned 看过这个 GitHub ,但里面涉及到 LE 的具体流程还是 letsencrypt.sh 做的,想看看有没有官方的文档,例如应该向 LE 请求什么内容才可以得到 txt 记录?
lightening
2016-04-03 20:19:54 +08:00
如果你用 Docker 的话可以看看这个 https://github.com/SteveLTN/https-portal
XiaoxiaoPu
2016-04-03 20:57:58 +08:00
abelyao
2016-04-03 21:38:55 +08:00
@XiaoxiaoPu 官方文档,搭配 https://github.com/lukas2511/letsencrypt.sh/blob/master/letsencrypt.sh 这个脚本看,总算大概有点头绪,谢谢~
neilp
2016-04-03 22:00:26 +08:00
qgy18
2016-04-04 00:09:17 +08:00
@neilp 我在这篇文章里优先推荐你的工具,纯 BASH 无依赖这一点确实好。
https://imququ.com/post/my-nginx-conf.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/268330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX