カメノドットコム
Debian大好きでメインで節操ない感じ。
GMOもわりと好き。
RSS feedly

Let's Encryptで無料SSL証明書を取得

Let's Encrypt 総合ポータル に全てが書いてあるのですが、Debian Stretch で必要なところだけ抜き出してみました。
ワイルドカードにも対応させますよ。ぐふふ。

---- [PR] ----
現在契約中 : GMOクラウドのVPS : お名前.com
今後契約するかも : お名前.com VPS
--------------

Certbotクライアントのインストール

stretch-backports にあるのは「certbot 0.21.1」ですので、ワイルドカード証明書に対応していません、
git に最新バージョンがありますので、これを落として使用することにします。
「/usr/local」で作業することにします。どこでもいいんですが、個人的な趣味です。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
$ cd /usr/local/bin
$ sudo git clone https://github.com/certbot/certbot.git
$ sudo certbot/certbot-auto --version
certbot 0.22.2

最後にバージョンを確認してみました。
ワイルドカード証明書を導入できるバージョンです。
早速導入してみましょう。

ワイルドカード証明書を取得する

「example.com」「example.net」という異なるドメインをまとめて1枚の証明書にします。もちろんワイルドカード対応で。
「example.com」がメインということで、これを先頭に持ってきて取得します。
……普通は別のサーバを借りるんですけどね。趣味のサイトなので経費削減。
対話モードでお送りいたします。

$ sudo /usr/local/certbot/certbot-auto certonly --manual \
-d *.example.com -d *.example.net \
--manual-public-ip-logging-ok --preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory

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

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hoge@example.com

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: Y

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.example with the following value:

9loNsmCtQaEGqwlUH4tZQZ3QVH5owEs-XyxS4gSytPE

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

Please deploy a DNS TXT record under the name
_acme-challenge.example.net with the following value:

_reF5fr3wzRtK4HRh2RRlerhV7Wdd1Z6QVqkwivB8VQ

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

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2018-07-02. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto 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

ワンタイムトークンの認証に手間がかかりました。DNSの反映を待ってたら Certbot がタイムアウトしたりして。
nslookup で確認しながらやってたんですけど、取得できなかったりできたり、できても前のトークンだったり。
あと、最新版の certbot-auto のくせに「エンドポイント」ていうのが古いままで躓いたりとか。
--preferred-challenges dns-01 付けないとワイルドカード取得できないとか。
色々と引っ掛かりましたが、なんとか1枚にまとめて取得できました。

Sponsored Link