Let’s Encryptは、Webサイトが安全にデータをやり取りできるよう、無料のSSL/TLS証明書を発行してくれる非営利の認証局です。証明書の発行は無料かつ自動化されており、誰でも短時間で導入できます。
本記事では、証明書取得ツール「certbot」を使い、Windows環境とUnix系環境(Ubuntu/CentOS)それぞれでLet’s Encrypt証明書を申請する手順を解説します。なお、証明書の有効期限は発行日から90日間です。
事前に確認しておくこと
- 申請するドメインの所有権があること
- ドメインのDNS設定(TXTレコード)を追加できる管理画面にアクセスできること
- Windowsの場合は管理者権限、Unix系の場合はroot/sudo権限があること
一、Windowsシステムでの申請手順
1. certbotツールをダウンロード
以下のURLからインストーラーをダウンロードします。
https://dl.eff.org/certbot-beta-installer-win32.exe
2. インストーラーを実行し、「はい」を選択
ダウンロードしたインストールファイルをクリックすると、ユーザーアカウント制御(UAC)のダイアログが表示されます。「不明な発行元」と表示されますが、公式のcertbotインストーラーであるため、「はい」を選択して進めます。

3〜5. セットアップウィザードを進める
「Next」→「Install」→「Finish」の順にクリックし、インストールを完了させます。

6. PowerShellを管理者として実行
検索バーに「powershell」と入力し、「Windows PowerShell」を右クリックして「管理者として実行」を選択します。
7. certbotの動作確認
以下のコマンドを入力し、certbotが正しくインストールされているか確認します。
| certbot –version |
8. 証明書の申請コマンドを実行
以下の例では example.jp というドメインを使用しています。ご自身が所有しているドメインに置き換えてください。ここではDNS認証を使い、ワイルドカード証明書(サブドメインを含む証明書)を申請します。
| certbot certonly –manual –preferred-challenges dns -m noc@example.com -d *.example.jp -d example.jp |
-mの後ろ:ご自身のメールアドレスに置き換えてください-dの後ろ:ご自身のドメインに置き換えてください
9〜10. 利用規約への同意とEFFへのメール提供確認
デバッグログファイルの保存先が表示されたのち、Let’s Encryptの利用規約に同意するか(y)を入力するよう求められます。続けて、Electronic Frontier Foundation(EFF)にメールアドレスを提供するかどうかも確認されます(任意で n を選択可能)。

11. DNSにTXTレコードを追加
画面に表示された内容にしたがい、ドメイン管理画面でTXTレコードを追加します。ホスト名は _acme-challenge、値には画面に表示された文字列を入力します。

12. TXTレコードが反映されたか確認
ブラウザで任意のTXTレコード確認ツール(MXToolboxなど)を開き、追加したTXTレコードが正しく反映されているか確認します。
13. Enterキーを押して証明書を取得
TXTレコードの反映を確認したら、PowerShellの画面に戻って Enter キーを押します。検証に成功すると、証明書と秘密鍵の保存先パスが表示されます。証明書の有効期間は90日間です。

二、Unix系システムでの申請手順
Ubuntu(18.04以降)の場合
certbotのインストールにはsnapを使用します。以下のバージョン以降にはsnapがプリインストールされています。
| # snapを最新化 sudo snap install core; sudo snap refresh core |
| # certbotをインストール sudo snap install –classic certbot |
CentOS 7の場合
| yum install snapd -y systemctl enable –now snapd.socket ln -s /var/lib/snapd/snap /snap snap install certbot –classic /var/lib/snapd/snap/bin/certbot –version ln -s /var/lib/snapd/snap/bin/certbot /usr/bin/certbot certbot –version |
1. certbotの動作確認
| certbot –version |
2. 証明書の申請コマンドを実行
以下の例では example.jp というドメインを使用しています。ご自身が所有しているドメインに置き換えてください。Windowsの場合と同様に、DNS認証でワイルドカード証明書を申請します。
| certbot certonly –manual –agree-tos \ -d “*.example.jp” \ -d “example.jp” \ –email noc@example.com \ –preferred-challenges dns \ –manual-public-ip-logging-ok \ –server https://acme-v02.api.letsencrypt.org/directory |
--emailの後ろ:ご自身のメールアドレスに置き換えてください-dの後ろ:ご自身のドメインに置き換えてください
3. EFFへのメール提供確認
システムからEFFにメールアドレスを提供するかどうか尋ねられます。任意で選択してください。

4. DNSにTXTレコードを追加
ドメイン管理画面に戻り、画面の指示にしたがってTXTレコードを追加します。手順はWindowsの場合と同様です。
5. TXTレコードが反映されたか確認
ブラウザでTXTレコード確認ツールを開き、レコードが正しく反映されているか確認します。
6. Enterキーを押して証明書を取得
反映を確認したら、ターミナルに戻って Enter キーを押します。検証が成功すると、証明書と秘密鍵の保存先パスが表示されます。証明書の有効期間は90日間です。