2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

certbot で作成した証明書が保存されている /etc/letsencrypt 配下について

Last updated at Posted at 2023-08-21

背景

certbot で作成された証明書が保存されている /etc/letsencrypt 配下の各種ファイル・ディレクトリの内容をちゃんと理解していなかったので。

ファイル・ディレクトリ階層

  • 証明書取得対象のドメイン名を www.example.com とする。
  • 証明書を発行して、まだ一度も更新していない場合とする。
/etc/letsencrypt
├── accounts
│   └── acme-v02.api.letsencrypt.org
│       └── directory
│           └── <md5 ハッシュ値>
│               ├── meta.json
│               ├── private_key.json
│               └── regr.json
├── archive
│   └── www.example.com
│       ├── cert1.pem
│       ├── chain1.pem
│       ├── fullchain1.pem
│       └── privkey1.pem
├── live
│   ├── README
│   └── <ドメイン名>
│       ├── README
│       ├── cert.pem -> ../../archive/www.example.com/cert1.pem
│       ├── chain.pem -> ../../archive/www.example.com/chain1.pem
│       ├── fullchain.pem -> ../../archive/www.example.com/fullchain1.pem
│       └── privkey.pem -> ../../archive/www.example.com/privkey1.pem
├── renewal
│   └── www.example.com.conf
└── renewal-hooks
    ├── deploy
    ├── post
    └── pre

/etc/letsencrypt/accounts

Let's Encrypt のアカウントに関する情報が保存される。

  • meta.json: アカウント作成の日時と、アカウント作成を実行したホスト名が記載されているファイル。
  • private_key.json: certbotがACMEサーバーと通信する際に利用する JSON Web Key(JWK) 形式のキーのファイル。
  • regr.json: アカウントのURIが記載されたファイル。

/etc/letsencrypt/live

certbotが作成した証明書が配置されるディレクトリである。
ドメイン別のディレクトリが作成され、その中に証明書が配置される。

実際には /etc/letsencrypt/archive 配下の証明書へのシンボリックリンクとなっており、証明書更新の度にシンボリックリンクが更新される。

/etc/letsencrypt/archive

これまでに作成した証明書全ての実体が配置される。
live ディレクトリと同様に、ドメイン別のディレクトリが作成され、その中に証明書が配置される。

証明書更新の度に、ファイル末尾の数字がインクリメントされた証明書が作成される。(例:cert1.pemcert2.pem
過去分の証明書はそのまま残る。

/etc/letsencrypt/renewal

certbotが証明書更新の際に参照する更新設定ファイル <ドメイン名>.conf が配置される。

/etc/letsencrypt/renewal-hooks

pre,post,deploy 配下のディレクトリに実行ファイルを置くことで、renew サブコマンドによる証明書更新時に任意の処理を実行することができる。

  • pre に配置した場合: 証明書更新処理を始める前に実行される。
  • post に配置した場合: 証明書更新処理が終わった後に実行される。
  • deploy に配置した場合: 正常に証明書が更新された場合、更新された証明書毎に実行される。(2つ更新された場合、それぞれで1回、計2回実行される。)

各ディレクトリ配下のファイルは、アルファベット順に実行されるらしい。
参考:https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?