Let’s Encryptを利用したオンプレ用証明書の発行

オンプレのテスト用に有効な証明書を作成する必要がある際に、Let’s Encryptを使っているのでそのときのコマンドを残します。

前提

  • ドメインの所有者である
    今回発行するサイトのドメインの所有者であること。お名前ドットコムなどで安く適当なドメインを購入しましょう。
  • テスト用の証明書であること
    有効期限が3ヶ月で自動で更新されないため、用途はテストだけ。

certbotのインストール

certbotコマンドを使って発行するのでソフトのインストールをします。

Macを使っているならHomebrewからダウンロードできます。

brew install certbot

下記のサイトで自身のプラットフォームとOtherにすると、certbotインストールの手順がでてきます。

参考 certbot instructions

証明書の手動発行

本題の証明書発行に移ります。

  • コマンド
sudo certbot certonly --manual -d hogehoge.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns

-dでドメインを指定します。複数ドメインがある場合には、以下のように-d <domain>のセットを追加していきます。

sudo certbot certonly --manual -d hogehoge.eng-investor.com -d hogehoge2.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns

-mでメールアドレスを指定します。こちらは緊急の更新やセキュリティ通知に使われます。

実行時のログは下記の通り

注意
コマンドを実行後ターミナルウィンドウは閉じないでください。設定が完了した後に、Enterを押しますので、それまで放置します。Enterを押したり、ウィンドウを閉じてしまうと再実行が必要です。
$ sudo certbot certonly --manual -d hogehoge.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for hogehoge.eng-investor.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name:

_acme-challenge.hogehoge.eng-investor.com.

with the following value:

jSOT4ZLsgnH3QChbk_pMcpAGeW2brKa6zDGz3eVeuxc

Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.hogehoge.eng-investor.com.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

DNSエントリを下記のように変更する案内がでています。

  • _acme-challenge.hogehoge.eng-investor.com.のTXTレコードを jSOT4ZLsgnH3QChbk_pMcpAGeW2brKa6zDGz3eVeuxc にする。

ちなみに、お名前ドットコムの設定例は下記の通り。

設定終了後に、コマンドの出力にあるGoogleのサイトで確認しましょう。

注意
DNSの設定が完了する前にEnterを押してしまうと、新しいDNSエントリを設定するよう要求されます。必ず、確認してから次に進みましょう。

https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.hogehoge.eng-investor.com.

このサイトで設定したTXTレコードを確認後、ターミナルウィンドウに戻り、Enterを押します。

成功すると下記の通り、証明書と秘密鍵が生成されます。

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/<domain>/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/<domain>/privkey.pem
This certificate expires on 2022-04-05.
These files will be updated when the certificate renews.

NEXT STEPS:
- This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

証明書の発行はこれで終了です。

こちらを使って、テスト用サーバに配置しましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA