ユーザ用ツール

サイト用ツール


serverapps:security:cert:acmesh

acme.sh

install

pkg
pkg install acme.sh
curl
curl https://get.acme.sh | sh -s email=my@example.com
wget
wget -O -  https://get.acme.sh | sh -s email=my@example.com
git
git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install -m my@example.com

cron

curlやwgetでinstallした場合には設定されるがpkgでは設定されないので以下を参考に設定する

0 0 * * * /usr/local/sbin/acme.sh --cron --home "/home/user/.acme.sh"  2>&1 |logger -p local0.notice -t acme.sh

取得した証明書の配置

1)

Apache

acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

nginx

acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

オプション

コマンド/オプション値の例説明
–install-cert-鍵の配置とreload
-dwww.example.comドメイン(必須)
–cert-file/path/to/certfile/in/apache/cert.pem サーバ証明書ファイル
–key-file path/to/keyfile/in/apache/key.pemサーバの秘密鍵
–fullchain-file path/to/fullchain/certfile/apache/fullchain.pem 中間認証局証明書+サーバ証明書ファイル
–reloadcmd “service apache2 force-reload”再読み込みコマンド

Serevr

指定方法

acme.sh --issue ....   --server  letsencrypt_test
-or-
acme.sh --issue ....   --server  https://acme-staging-v02.api.letsencrypt.org/directory

コマンド

EABを利用したレジスト

EAB2)は他のCAでも利用できるはずだが、zerosslで作成したEABでgoogleのレジストを試したところ失敗しました3)
gcloudから取得すればOKでした。取得するにはProjectを作成して紐づけますので、「Google Cloud プロジェクトを削除すると、プロジェクトにリンクされているすべての ACME アカウントが無効になります」とのことです。

acme.sh  --register-account  -m  myemail@example.com --server google \
    --eab-kid xxxxxxx \
    --eab-hmac-key xxxxxxx
acme.sh  --register-account  --server zerossl \
    --eab-kid  xxxxxxxxxxxx  \
    --eab-hmac-key  xxxxxxxxx

証明書を取得済みのドメインの一覧を表示する

$ acme.sh --list

取得済みの証明書を破棄(削除)する

acme.sh の管理下から証明書を削除するだけで、証明書自体は有効期限までは有効

$ acme.sh --remove -d <ドメイン名>

参考

1)
fileのpathに~/xxx 使ったらエラーになったので注意
2)
発行方法は各々のサイトで確認のこと
3)
2025-05-15
serverapps/security/cert/acmesh.txt · 最終更新: 2025/05/15 01:10 by hayashi