Let's Encryptのワイルドカード証明書を早速発行してもらう

Let’s Encryptでワイルドカード証明書を発行してみました。

ワイルドカード証明書

遂に……遂に来ましたね。
Let’s Encryptのワイルドカード証明書が。

ACME v2 and Wildcard Certificate Support is Live

非常におめでたいです🎉

これで、サブドメインをたくさん切って運用してるサービスなんかの証明書の管理がグッとラクになりますね。

早速取得してみる

注意点としては、

  • ワイルドカード証明書はACMEv2エンドポイントからのみ発行できる
  • ワイルドカード証明書はDNS-01チャレンジでのみ発行できる

公式のCertbotは0.22.0からACMEv2に対応しており、DNS-01チャレンジにも対応してます。
DNS-01では、_acme-challenge.example.comのようなTXTレコードを作成してドメインの所有を確認します。

手順

適当にCertbot(certbot-auto)をインストールしたら、以下のようなコマンドを実行します。
明示的にACMEv2エンドポイントとDNS-01チャレンジを指定する必要がります。

1
2
3
4
5
certbot certonly \
--manual \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory \
--domain *.kiritan.com

すると、以下のように「IP記録するけどいい?」って確認されます。
DNS-01は、実際に証明書を使うサーバー以外からも発行が要求できるんですが、要求元のIPアドレスが記憶されるみたいです。

1
2
3
4
5
6
7
8
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o:

進むと、以下のようなレコードを設定しろと言われるので、設定します。

1
2
3
4
5
6
7
8
9
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.kiritan.com with the following value:

f4WTOGBdEhZF7aAx9mZof8X9072JVUKDR7FhmUlKiYo

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

ボクはConoHaのDNSを使っています。
普通にWebブラウザからレコードを設定するのはもちろん、API経由で設定もできるので非常に便利です。
あと、DNSサービス自体は無料です。ふとっばらですね。

宣伝:ConoHaのDNS APIをCLIから叩くやつを作った

あと、AWSのRoute53みたいな有名サービスなら、プラグインが存在するので手軽にDNS-01による確認ができるみたいです。
Certbot Docs » User Guide » DNS Plugins

今度ConoHaのDNSでも簡単に証明書がとれるDNS-01プラグインを書いてみようかな???

適切にTXTレコードを設定したら、エンターキーを押せば終わり!

1
2
3
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/kiritan.com/fullchain.pem

簡単ですね!
あとは、HTTPサーバに設定してあげれば夢のワイルドカード証明書によるHTTPS化が完了です!


うわ〜〜ワイルドカードだ〜〜うれしい〜〜

おわり

TXTレコードを設定するところが自動化できるなら、本当に証明書管理の手間が少なくなると思います。

別のアプローチで管理の手間をなくす記事もあります。見てね。
lua-nginx-auto-sslで全自動HTTPS

このエントリーをはてなブックマークに追加