Let’s EncryptとZeroSSLで、もっと簡単にSSL証明書を用意する

letsencrypt

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、ももんが大好きの小山です。あまりにも料理が下手なため、冷蔵庫に入れるものがビールしかない小山です?

さて、みなさんは既にLet's Encryptを試されましたか? 無償のSSL証明書を取り放題ということで一世を風靡するかのように思われましたが、いまいち盛り上がりに欠けるサービスですよね。どうしてでしょうか?

  • あれでしょ、タダで証明書がもらえるやつでしょ。すごいよね。
  • でも、もらえる証明書の有効期限が短いんだっけ? 90日だよね。
  • なんか、certbotとかいうツールを入れなくちゃいけないんでしょ。ちょっとめんどくさいよね...
  • じっさい、StartSSLの方が楽かな...

以上は私がLet's Encryptに対して持っていた感想ですが、昨日それを覆すようなページを見つけました。

驚いたことに、Let's Encryptから証明書をもらう方法は1つじゃなかったわけです。さまざまなツールやSDKが公開されており、公式のコマンドラインツールであるcertbotを置き換える方法がたくさんあります。知らなかった!! 知らないというのは本当に恐ろしいことです。

ZeroSSL

世の中には知りたくないこと知りたくなかったこともありますが、今回ご紹介するサービスは知っても得しかしませんからご安心ください。ZeroSSLというサービスです。

ZeroSSL - Zero cost (Free) SSL certificates for your website and Free SSL Tools!
https://zerossl.com/

ZeroSSLは、Let's Encryptの一時アカウント作成から証明書のCSR作成、DNSのTXTレコードに登録した文字列もしくはAレコードに登録したWebサーバを用いる所有者認証、証明書の取得までをWebブラウザだけで完結できる夢のようなサービスです。他所の証明局では当たり前のことですが、Let's Encryptは根本的に文化が違うため、標準で用意されるWebツールというものがないというわけです。なんということでしょう...

注: Let's Encryptで推奨されるcertbotツールは、有効期間の短い証明書を自動的に更新して取得するような仕組みを備えています。ZeroSSLのようなWebツールで証明書の取得と配置を行った場合、90日毎の更新は自己責任ということになります。やっぱりStartSSL(略

一生コマンドラインから離れたくないという方は、どうぞこちらからお引き取りください。

やってみる

https://zerossl.com/free-ssl/#crt

まずは、上のリンクをクリックしてFREE SSL Certificate Wizardを開きます。

連絡先のメールアドレス、証明書が必要なドメインを入力します。ここで入力したメールアドレスはLet's Encryptからの連絡先として保管され、証明書には載りません! 内容を確かめたら、右上のNEXTを押しましょう。

ヒント: 特殊な用途の証明書が必要な場合、ドメインを入力する代わりにあらかじめ自分で用意したCSRを貼り付けることもできます。

CSRが作成されました。このCSRは、コピーして手元に保管しておく必要があります。右上のNEXTで進みます。

Let's Encryptの一時アカウントが作成されました。左側に表示された秘密鍵も、コピーして手元に保管しましょう。進むには右上のNEXTを押します。

ここまで来たらしめたものです! ドメインのネームサーバでTXTレコードを追加しましょう。右 (Route 53) の例のように、_acme-challengeというホスト名に対して黄色の枠のValueを入力します。ここでは省略していますが、実際のValueはこんなに短くありませんよ! TXTレコードを追加したら、少し時間を置いてからZeroSSLのページへ戻って右上のNEXTで進みましょう。

証明書と、対応する秘密鍵が表示されます。こんなにも簡単にSSL証明書を取得することができました! 説明をよく読んで、控えておく必要のある内容や保管しておくファイルに誤りがないようにしましょう。

上のように、取得したSSL証明書はきちんと有効なものとして認められます。

おわりに

いかがでしたか? ZeroSSLのようなサードパーティーのツールを使うと、より手軽にLet's Encryptの証明書を取得できることがわかりました。ただし冒頭でもお話したように、Let's Encryptから取得できる証明書は90日の有効期間です。使いにくい場面もあるかと思いますので、じょうずに他の証明局と使い分けていきましょう!