Edited at

さくらのクラウドDNS + Let's Encrypt でワイルドカード証明書する!

More than 1 year has passed since last update.

ワイルドカード証明書記事第3弾ですw

Let's Encryptの公式推奨クライアントであるcertbotが最新バージョンでさくらのクラウドDNSに対応したので、検証してみました。


おことわり

pipではcertbotが記事執筆時点(2018/07/21)で0.26.1が最新バージョンらしく、本記事ではpipで一からインストールしています。

一方yum(epel)ではまだ0.25.1なので、yumで入れた方は0.26以降が配信されるのを待ったほうが良いかもです。


準備


  • さくらのクラウドDNSでゾーンが登録されていて、レコードが利用可能な前提で進めます。

  • 詳しくは公式ドキュメントを参照してください。


certbot 0.26.1 のインストール

pipからインストールしてます。

前回の記事同様、setuptoolsが古いと怒られたのでupgradeしてます。

$ yum -y install python-pip

$ pip install pip --upgrade
$ pip install setuptools --upgrade
$ pip install certbot
$ pip install certbot-dns-sakuracloud


さくらのクラウドのAPIの認証情報を用意

さくらのクラウドのコントロールパネルから、APIキーを発行します。

スクリーンショット 2018-07-21 09.09.28.png

以下の形式で認証情報を記述したファイルを用意します。

今回は ~/.sakura というファイル名にしています。

パーミッションは600とかにしとかないとunsafeだと怒られます。


~/.sakura

dns_sakuracloud_api_token = 'アクセストークン'

dns_sakuracloud_api_secret = 'アクセストークンシークレット'


証明書を取得

--dns-sakuracloud-credentials オプションで認証情報ファイルを指定します。

$ certbot certonly --dns-sakuracloud \ 

--dns-sakuracloud-credentials ~/.sakura \
-d *.ドメイン \
-m メールアドレス \
--manual-public-ip-logging-ok \
--agree-tos


  • manual-public-ip-logging-ok グローバルIPが記録されることへの同意

  • agree-tos 利用規約への同意

  • これらのオプションをつけておかないと同意するか確認される。


結果

取得できた!

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator dns-sakuracloud, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for ドメイン
Waiting 90 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/ドメイン/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/ドメイン/privkey.pem
Your cert will expire on 2018-10-18. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le


まとめ


  • certbotのDNSプラグインにさくらのクラウドDNSが追加された。

  • 認証情報のファイルを用意し、オプションで指定することで、APIを叩かなくてもワイルドカード証明書が発行される。

  • 簡単。


おまけ