JPRS サーバー証明書発⾏サービス ACME 対応版
acme.sh ご利⽤マニュアル

Version 1.1
株式会社⽇本レジストリサービス（JPRS）

Copyright© 2024 Japan Registry Services Co., Ltd.

acme.sh ご利⽤マニュアル

⽬次
更新履歴 ......................................................................................................... 21

本資料について .......................................................................................... 3

2

事前準備 ................................................................................................... 4

3

初回の証明書発⾏を⾏う ............................................................................... 54

参考情報 ................................................................................................... 9

更新履歴
⽇付

Version2024/03/21

1.0

初版リリース2024/04/11

1.1

誤植の修正

Copyright© 2024 Japan Registry Services Co., Ltd.

2

acme.sh ご利⽤マニュアル

1 本資料について
本資料では、JPRS サーバー証明書発⾏サービス ACME 対応版（以下、本サービス）でご利⽤可能な ACME クライアントの⼀つである、acme.sh のご利⽤⽅法について説明します。

ACME についてACME（アクミー）は、Automatic Certificate Management Environment（⾃動証明書管理環境）に由来する、証明書の管理を⾃動化するためのプロトコル（取り決め）です。証明書の管理者が ACME に対応することで、サーバー証明書をほぼ全⾃動で管理できます。
ACME に対応する場合、ACME のサービスを利⽤するためのソフトウェアである、ACME クライアントを使⽤できます。

acme.sh について
acme.sh は UNIX ベースのシェルスクリプトです。無償で利⽤可能です。

本資料における前提条件について本資料は、以下の前提条件で記述しています。
CentOS7 及び Apache2.4.6 をご利⽤中のものとします。
OS の設定については、本資料の対象外とします。
acme.sh のインストール⽅法については、本資料の対象外とします。
ワイルドカード証明書を含む、DNS 認証（dns-01）を利⽤したサーバー証明書の発⾏・更新につきましては、ご利⽤中の DNS プロバイダーとの連携に対応したプラグインが必要となるため、本資料の対象外とします。恐れ⼊りますが、DNS 認証プラグインの利⽤⽅法につきましては、ご利⽤者様にてご確認ください。

Copyright© 2024 Japan Registry Services Co., Ltd.

3

acme.sh ご利⽤マニュアル

2 事前準備
acme.sh のインストール
以下の参考 URL に記載された公式ドキュメント等をご参照のうえ、ご利⽤の環境にacme.sh をインストールしてください。
なお、インストール⽅法については本資料では扱いませんので、予めご了承ください。
参考 How to install https://github.com/acmesh-official/acme.sh/wiki/How-to-install

指定事業者を経由した本サービスの利⽤申し込み
本サービスのご利⽤には、指定事業者を経由した申し込みが必要になります。
お⼿続き⽅法等は、指定事業者により異なります。申し込みやお⼿続きなどの詳細につきましては、ご利⽤の指定事業者にお問い合わせください。

ACME アカウントの発⾏に必要な EAB 認証情報の受領
本サービスのご利⽤には、EAB（認証情報）が必要です。
ご利⽤の指定事業者から EAB（認証情報）を受け取ってください。
※ EAB（認証情報）の有効期間は、EAB 認証情報の発⾏から 14 ⽇間です。
この期間内に、⼿順 3.1「ACME アカウントの発⾏する」を⾏ってください。
※ EAB（認証情報）の有効期間が終了した場合や、EAB（認証情報）を失くした場合には、指定事業者へ EAB（認証情報）の発⾏を依頼してください。

Copyright© 2024 Japan Registry Services Co., Ltd.

4

acme.sh ご利⽤マニュアル

3 初回の証明書発⾏を⾏うACME アカウントを発⾏する
本サービスを利⽤するための ACME アカウントの発⾏が必要になります。ご利⽤中の指定事業者から受領した EAB（認証情報）をご⽤意ください。
なお、ACME アカウント発⾏にあたり、JPRS からの緊急連絡を受信するメールアドレスの登録が必要になります。

EAB（認証情報）を利⽤し、ACME アカウントを発⾏します。
・--server（必須）︓JPRS の ACME サーバーを接続先に指定します。
・--register-account（必須）︓ACME アカウント（EAB 認証情報）を登録します。
・--eab-kid（必須）︓指定事業者から受領した MAC 鍵識別⼦を⼊⼒します。
・--eab-hmac-key（必須）︓指定事業者から受領した MAC 鍵を⼊⼒します。
・--accountemail（必須）︓JPRS からの緊急連絡を受信するメールアドレスを登録します。
$acme.sh --server https://acme.amecert.jprs.jp/DV/getDirectory --registeraccount --eab-kid AbAA5CL8vlEg6hMysInnIMk8_8ARMfe7URnm8 --eab-hmackey uo_JAOUM06AfZ3Smv-Xbf3NyDpaQa4G9_7XI --accountemail info@jprs.jp$の表⽰は、ご利⽤の環境により異なります。また、この部分の⼊⼒は不要です。

以下のメッセージが表⽰されましたら、ACME アカウントの発⾏は完了です。
Create account key ok.
Registering account: https://acme.amecert.jprs.jp/DV/getDirectory
Registered
ACCOUNT_THUMBPRINT='7cVRvemCjrikbp-V9yweMB6Iqgj4BBJYRQI'

Copyright© 2024 Japan Registry Services Co., Ltd.

5

acme.sh ご利⽤マニュアル

サーバー証明書を発⾏する
本サービスではサーバー証明書発⾏時のドメイン名利⽤権の確認⽅法として、ACME のファイル認証（http-01）または DNS 認証（dns-01）を利⽤できます。
本マニュアルではファイル認証を利⽤する場合の例を記載します。
ご注意※ DNS 認証を利⽤する場合、ご利⽤中の DNS プロバイダーとの連携に対応したプラグインが必要になります。DNS 認証⽤のプラグインの利⽤⽅法につきましては、恐れ⼊りますがご利⽤者様にてご確認ください。

ファイル認証を利⽤してサーバー証明書を発⾏する例を以下に⽰します。
・--server（必須）︓JPRS の ACME サーバーを接続先に指定します。
・--issue（必須）︓サーバー証明書を発⾏します。
・-k 2048（必須）︓鍵⻑を 2048 ビットに指定します。
・-w︓ドキュメントルートを指定します。
acme.sh --server https://acme.amecert.jprs.jp/DV/getDirectory --issue -d
example.jp -k 2048 -w /var/www/html

以下のメッセージが表⽰されましたら、サーバー証明書の発⾏は完了です。
Create account key ok.
Registering account: https://acme.amecert.jprs.jp/DV/getDirectory
Registered
ACCOUNT_THUMBPRINT='FiS1akdnQkesz0StKfrEVmE\1hiJex0ZU'./acme.sh --server https://acme.amecert.jprs.jp/DV/getDirectory --issue -d
example.jp -k 2048 -w /var/www/html
Using CA: https://acme.amecert.jprs.jp/DV/getDirectory
Creating domain key
The domain key is here: /root/.acme.sh/example.jp/example.jp.key
Single domain='example.jp'Copyright© 2024 Japan Registry Services Co., Ltd.

6

acme.sh ご利⽤マニュアル
Getting domain auth token for each domain
Getting webroot for domain='example.jp'
Verifying: example.jp
Processing, The CA is processing your order, please just wait. (1/30)
Success
Verify finished, start to sign.
Lets finalize the order.
Le_OrderFinalize='https://acme.amecert.jprs.jp/finalizeOrder/NkJJJoaU1yaHJybA'
Order status is processing, lets sleep and retry.
Polling order status: https://acme.amecert.jprs.jp/order/NkJJJoaU1yaHJybA
Order status is processing, lets sleep and retry.
Polling order status: https://acme.amecert.jprs.jp/order/ NkJJJoaU1yaHJybA
Order status is processing, lets sleep and retry.
Polling order status: https://acme.amecert.jprs.jp/order/ NkJJJoaU1yaHJybA
Downloading cert.
Le_LinkCert='https://acme.amecert.jprs.jp/getCert/ NkJJJoaU1yaHJybA'
Cert success.
-----BEGIN CERTIFICATE----〜証明書情報〜-----END CERTIFICATE----Your cert is in: /root/.acme.sh/example.jp.jp/example.jp.cer
Your cert key is in: /root/.acme.sh/example.jp/example.jp.key
The intermediate CA cert is in: /root/.acme.sh/example.jp/ca.cer
And the full chain certs is there: /root/.acme.sh/example.jp/fullchain.cer

ご注意Copyright© 2024 Japan Registry Services Co., Ltd.

7

acme.sh ご利⽤マニュアル
現時点における本サービスの仕様により、証明書の発⾏から OCSP（証明書のステータス情報をオンラインで提供するプロトコル）サーバーへの情報登録までに、最⼤ 10 分程度のタイムラグが存在します。

これにより、アクセス時に OCSP の情報を確認する⼀部 Web ブラウザーにおいて、OCSP に関するエラーメッセージが表⽰される場合があります。当社ではFirefox ブラウザーにおいて、この状況を確認しています。

証明書の更新と Web サーバーへの読み込みの間に所定の待機時間を設定することで、エラーの発⽣を回避できます。

サーバー証明書を更新する
Acme.sh は、インストール時に Cron ジョブを登録するため、⼿動での更新作業は不要です。

Copyright© 2024 Japan Registry Services Co., Ltd.

8

acme.sh ご利⽤マニュアル

4 参考情報
acme.sh 公式サイト
サーバー証明書のインストール・証明書の設定⽅法は公式サイトをご確認ください。
https://github.com/acmesh-official/acme.sh

Copyright© 2024 Japan Registry Services Co., Ltd.

9

acme.sh ご利⽤マニュアル

ACME 対応版サービス - エラーの種別と発⽣条件本サービスで出⼒するエラーの種別と発⽣条件は次の通りです。

エラー種別
accountDoesNotExist

HTTPステータ
スコード
400
400

alreadyRevoked
400

badCSR

400

badNonce

400

badPublicKey

badRevocationReason

badSignatureAlgorithm
caa

400

400

403
400

connection

400

メッセージ文(英語)

発生条件

The request specified an
account that does not exist

指定されたアカウントが存在しない

The request specified acertificate to be revokedthat has already been
revoked: [%s]
The CSR is unacceptable
The client sent anunacceptable anti-replay
nonce
The JWS was signed by apublic key the server does
not support
The revocation reason
provided is not allowed bythe server: [%s]
The JWS was signed with analgorithm the server does
not support: [%s]
CAA records forbid the CA
from issuing a certificate
The server could notconnect to validation
target : [%s]失効対象の証明書が既に失効されている場合
CSR が受け付けられない場合(鍵⻑が短すぎるなど)
受理不能なノンスを受信した場合アカウント公開鍵の情報に問題がある場合送信された失効理由がサーバー側で許可されていない場合サーバーがサポートしないアルゴリ
ズムで JWS が署名されている場合
CAA レコードにより証明書の発⾏が許可されていない場合
FQDN の審査対象のサーバーに接続できない場合
リクエストにThe request must include avalue for theexternalAccountBinding field

externalAccountRequired場合

externalAccountBinding(*)が存在しない場合(*)認証情報(MAC 鍵識別⼦・MAC鍵)

invalidContact
malformed
malformed

400
400
400

A contact URL for an
account was invalid: [%s]コンタクトの URL の形式が不正であThe request information isinvalid

必須項⽬チェックや形式チェックな

Unable to create accountEAB アカウントが不正である場合

る場合
どのリクエスト不正である場合

Copyright© 2024 Japan Registry Services Co., Ltd.

10

acme.sh ご利⽤マニュアル
400

・コンタクトメールアドレスが 7 件

The contact information isinvalid:malformed

以上設定されている、もしくは、0件である場合・コンタクトメールアドレスが重複して設定されている場合

400

malformed

400

malformed

400

malformed

400

malformed

400

malformed

400

malformed

400

malformed

Please agree to the term ofservice.

利⽤規約に同意していない場合

The FQDN is invalid: [%s]発⾏できない FQDN である場合

Validity period of application
has been expired

オーダーオブジェクトの有効期限切

Unable to accept order
Validity period of application
has been expired
Unable to accept order
The certificate does notexist: [%s]れの場合
オーダーオブジェクトのステータスが不正である場合
認可オブジェクトが有効期限切れである場合
認可オブジェクトのステータスが不正である場合
失効対象の証明書が存在しない場合

malformed

405

The HTTP method is invalid:[%s]

リクエスト不正︓許容されていない

malformed

415

The content-type is invalid:[%s]

リクエスト不正︓許容されていない

orderNotReady403

The request attempted tofinalize an order that is notready to be finalized

rejectedIdentifier

400

The server will not issue
certificates for the identifier

対象の識別⼦に対してサーバーが証

serverInternal

500

The server experienced aninternal error

サーバーで内部エラーが発⽣した場

The client lacks sufficientauthorization

ACME アカウントのステータスが不unauthorized

401
400

unsupportedContact

unsupportedIdentifier

400

A contact URL for an
account used an
unsupported protocol
scheme: [%s]An identifier is of an
unsupported type

HTTP Method である場合
ContentType である場合
finalize の準備ができていない orderに対して finalize した場合

明書を発⾏しない場合
合正である場合
コンタクト URL がサポートしないスキームである場合識別⼦がサポートされていない場合※[%s] や [%d] には、エラーの要因となった具体的な値が出⼒されます

Copyright© 2024 Japan Registry Services Co., Ltd.

11