0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Certbotの裏側でやってること Let's Encrypt Webroot認証の仕組み

Last updated at Posted at 2025-06-02

Let's Encryptを使ってWebサイトをHTTPS化する際、Certbotというツールを使うのが一般的です。
本記事では、特にWebroot認証において、Certbotが裏側でどのような処理を行っているのかを整理します。

そもそもWebroot認証とは?

認証局(ここでいうLet's Encrypt)が指定したパスにサーバーが特定のファイルを置くことで、ドメインの所有者であることを証明する方式

認証局は、そのファイルにHTTP経由でアクセスして検証します。

前提条件
80番ポートの解放と、Let's Encryptとサーバーがやり取りするためにもDNS設定をしていることが必要です。

認証の全体的な流れ

1. Certbotが「このドメインの証明書が欲しい」とLet's Encryptに依頼
2. Let's Encryptが「このトークンをこのURLに置いて」と指示
3. Certbotがその内容のファイルをWebサーバの公開ディレクトリに作成
4. Let's EncryptがそのURLにHTTPでアクセス
5. アクセス成功 → 所有者認定 → 証明書発行

🔧 Certbotがやっていること【内部処理】

コマンド例:

sudo certbot certonly --webroot -w /var/www/html -d example.com

このとき Certbot は以下の処理を自動で行います。

1. Let's Encryptに接続しリクエスト

  • Certbot は Let's Encryptに「example.com の証明書が欲しい」とHTTPS経由でリクエストを送る。
  • Let's Encrypt は「所有者確認のためのチャレンジ(Webrootにファイルを置いてね)」を返してくる。

2. トークンファイルの作成

  • 指示されたファイル名と中身を元に、以下のようなファイルを作成:
/var/www/html/.well-known/acme-challenge/<トークン>
  • 中身には署名付きのトークンが含まれる

3. HTTPアクセスによる確認待ち

  • Let's Encrypt が実際に http://example.com/.well-known/acme-challenge/...にアクセス

  • 正しく応答すれば OK、証明書を発行できる状態になります

80番ポートでアクセス可能にしている必要があるのはここで使う為です。

4. 証明書の取得と保存

認証に成功すると、CertbotはLet's Encryptに対して証明書の発行をリクエストし、発行された証明書データを受け取ります。

受け取った証明書一式を/etc/letsencrypt/live/example.com/ に保存:

fullchain.pem

privkey.pem

cert.pem

なぜこれで所有者確認ができるのか

Webroot 認証では以下が確認できます:

  • DNS設定が正しく、example.com が自分のサーバに向いている
  • サーバの公開ディレクトリにファイルを置ける(操作権限がある)

つまり、「ファイルを置ける」という事実そのものがドメインの所有証明になります。

補足:認証ファイルは一時的

  • トークンファイルは認証が終われば Certbot によって削除されます
  • 中身も暗号的な署名済みトークンであり、漏れても問題ありません

まとめ

Certbotは、Webroot認証において以下を全自動で行います:

ステップ 処理内容
Let's Encryptに証明書リクエスト
指定されたトークンファイルをWebrootに作成
Let's EncryptによるHTTPアクセスに応答
証明書を取得し、ローカルに保存

この流れによって、ドメインの所有を確認し、SSL/TLS証明書を安全に取得することができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?