JPRS ACME 導入手順¶
事前に、eab-kid と eab-hmac-key を入手しておく
※社内向けドキュメント https://aitp.sharepoint.com/:f:/r/sites/msteams_79cb18/Shared%20Documents/FS/ACME?csf=1&web=1&e=eP4C0Z
1.certbot のインストール
sudo dnf update -y sudo dnf install -y certbot python3-certbot-apache
--- OSが古くてうまく行かない時 ---
aptのリストを書き換える
vi /etc/apt/sources.list
deb http://archive.debian.org/debian/ buster main contrib non-free deb http://archive.debian.org/debian/ buster-proposed-updates main contrib non-free deb http://archive.debian.org/debian-security buster/updates main contrib non-free
echo 'Acquire::Check-Valid-Until "false";' | sudo tee /etc/apt/apt.conf.d/99no-check-valid-until
更新
sudo apt clean sudo apt update
インストールする
sudo apt install -y snapd sudo snap install core sudo snap refresh core sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
------
バージョンの確認
certbot --version
2.JPRS 用ディレクトリ作成(分離運用)
sudo mkdir -p /etc/letsencrypt-jprs sudo mkdir -p /var/lib/letsencrypt-jprs sudo mkdir -p /var/log/letsencrypt-jprs
3.JPRS ACME アカウント登録(EAB)
sudo certbot register \ --config-dir /etc/letsencrypt-jprs \ --work-dir /var/lib/letsencrypt-jprs \ --logs-dir /var/log/letsencrypt-jprs \ -m 'admin@example.jp' \ --agree-tos \ --eab-kid '<JPRS_EAB_KID>' \ --eab-hmac-key '<JPRS_EAB_HMAC_KEY>' \ --server 'https://acme.amecert.jprs.jp/DV/getDirectory'
4ー1.証明書の発行(Webroot 方式・通常ドメイン用)
sudo certbot certonly \ --config-dir /etc/letsencrypt-jprs \ --work-dir /var/lib/letsencrypt-jprs \ --logs-dir /var/log/letsencrypt-jprs \ --webroot -w /var/www/html \ --key-type rsa \ -d example.jp -d www.example.jp \ --server 'https://acme.amecert.jprs.jp/DV/getDirectory'
4-2.証明書の発行(DNS-01 方式・ワイルドカード対応)
DNSテキストレコードを発行
sudo certbot certonly \ --config-dir /etc/letsencrypt-jprs \ --work-dir /var/lib/letsencrypt-jprs \ --logs-dir /var/log/letsencrypt-jprs \ --manual \ --preferred-challenges dns \ --key-type rsa \ -d '*.example.jp' -d example.jp \ --server 'https://acme.amecert.jprs.jp/DV/getDirectory'
発行されたTXTレコードをDNSに登録
DNSが設定されたら、
dig TXT _acme-challenge.example.jp +short
5.下記のようなファイルが生成される
/etc/letsencrypt-jprs/live/example.jp/fullchain.pem /etc/letsencrypt-jprs/live/example.jp/privkey.pem
6.APACHEのConfigを設定する
<VirtualHost *:443> ServerName example.jp ServerAlias www.example.jp DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/letsencrypt-jprs/live/example.jp/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt-jprs/live/example.jp/privkey.pem </VirtualHost>
7.定期的な更新方法
sudo certbot renew \ --config-dir /etc/letsencrypt-jprs \ --work-dir /var/lib/letsencrypt-jprs \ --logs-dir /var/log/letsencrypt-jprs \ --dry-run
このコマンドを入れた後にHTTPDを再起動する
service httpd restart
これをシェルスクリプトにして、月に1回事項する
10 1 1 * * root /home/bitnami/batchfiles/certbot-jprs.sh