Edited at

サブドメインだけが管理下にある状態でLet's Encryptの証明書は取得できるのか?


結論


できる(できた)


具体的には

さくらのVPSでxxxx.vs.sakura.ne.jpというドメインが与えられますが

この証明書を取得しました。

「サブドメインだけが管理下」と言っているのは、xxxx.vs.sakura.ne.jpは自分のサーバーですが

ルートドメインsakura.ne.jpはもちろん自分のものではありません。

言ってしまえば自分が所有していないドメインの証明書が取得できるのかということです。

Let's Encryptで使用しているACMEプロトコルの仕様上は取得したい(サブ)ドメインとLet's Encrypt側が80ポートと443ポートで通信できればいいはずなので、取得できてしまうのではないかと思いましたが、できました。


エビデンス

テストにはCaddyを使用しました。

image.png

Apr 28 08:14:46 myvps caddy[26121]: 2019/04/28 08:14:46 [INFO] [xxxxxx.vs.sakura.ne.jp] acme: Obtaining bundled SAN certificate

Apr 28 08:14:47 myvps caddy[26121]: 2019/04/28 08:14:47 [INFO] [xxxxxx.vs.sakura.ne.jp] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/xxxxxxxxxxxxxxxxxxxxxxxx
Apr 28 08:14:47 myvps caddy[26121]: 2019/04/28 08:14:47 [INFO] [xxxxxx.vs.sakura.ne.jp] acme: use tls-alpn-01 solver
Apr 28 08:14:47 myvps caddy[26121]: 2019/04/28 08:14:47 [INFO] [xxxxxx.vs.sakura.ne.jp] acme: Trying to solve TLS-ALPN-01
Apr 28 08:14:53 myvps caddy[26121]: 2019/04/28 08:14:53 [INFO] [xxxxxx.vs.sakura.ne.jp] The server validated our request
Apr 28 08:14:53 myvps caddy[26121]: 2019/04/28 08:14:53 [INFO] [xxxxxx.vs.sakura.ne.jp] acme: Validations succeeded; requesting certificates
Apr 28 08:14:55 myvps caddy[26121]: 2019/04/28 08:14:55 [INFO] [xxxxxx.vs.sakura.ne.jp] Server responded with a certificate.

image.png


おわりに

ACMEプロトコルの仕様上当たり前といえば当たり前なのですが、

明確にできたと書いてる記事が見つからなかったので書きました。

便利ではあるのですが、所有していないルートドメインに対するサブドメインの証明書が取れてしまうのは仕様上想定内なのか気になります。

また、以下の記事ではレートリミットで取得できなかったケースも有るようなので、絶対とは言えませんのでご了承ください。

https://teratail.com/questions/170551