Edited at

15秒でわかるLet's Encryptのしくみ~無料で複数ドメイン有効な証明書作成~

More than 1 year has passed since last update.


概要

medium( https://medium.com/ )というブログは自分のドメインを付与したら、

無料で且つ自動でSSL証明書を取得しブログに付けてくれる。

使われているのはLet's Encryptというサービス。

無料でSSL証明書が取得できるサービスである。

Let's Encryptの特徴として、

SSL証明書の有効期限が約3ヶ月と極端に短い。

その為、cronで定期的にLet's Encryptを更新する手順を盛り込み、

自動で半永久的に更新させるのが定番である。


15秒でわかるLet's Encryptのしくみ

1) DNSサーバにAレコードを登録する

1.JPG


2) 証明書作成プログラムを実行する

2.JPG


3) CAはDNSサーバへAレコードを問い合わせる

3.JPG


4) CAがクライアントのファイルを確認

4.JPG


5) 証明書の作成

5.JPG


導入手順

複数ドメインを作成したい場合を考慮し、複数まとめて作成する手順。

(CentOS 7 を想定)

tsukada.test.jp

sumito.test.jp
coco.test.jp

の3ドメインを1枚の証明書に入れる手順。

(1ドメインの証明書だけ作りたいのであれば、単純に対象を削ればOK。)

cd /usr/local/src

git clone https://github.com/certbot/certbot
cd certbot/
./certbot-auto certonly --no-self-upgrade -n --webroot --agree-tos --email webadmin@test.jp -w /var/www/html -d tsukada.test.jp -d sumito.test.jp -d coco.test.jp --expand


cronに登録

# crontab -l

0 1 1 * * /usr/local/src/certbot/certbot-auto renew --force-renew && service httpd restart


まとめ

無料で利用できる為、「そもそもSSL証明書って何を証明するんだっけ?」という議論になりかねない。

Let's Encryptを使った証明書はエラーにはならないものの、

証明書の中身をエンジニアが見ればLet's Encryptで作ったものだとすぐに分かる。

サービスで使う場合は、従来通り有料で購入した方がよいが、

社内で使うサービスであれば、Let's Encryptで十分な場合も多い。

なによりcronに組み込む事により更新が自動というのも非常に心強い。

昔はテスト用のSSL証明書を作るのに、

自らが認証局となり自分自身を証明する通称「オレオレ証明書」が一般的だったが、かなり便利な時代になった。