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

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

Copyright© 2022 Japan Registry Services Co., Ltd.

Posh-ACME ご利⽤マニュアル

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

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

2

事前準備 ................................................................................................... 5

3

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

4

証明書の更新 ........................................................................................... 125

その他必要時にのみ⾏う作業（強制更新、失効） ............................................. 20

6

参考情報 ................................................................................................. 21

更新履歴
⽇付

Version2022/03/02

1.0

初版リリース2022/04/11

1.1

OCSP に関する注意書きを更新

2022/12/15

1.2

更新に関する Windows の設定を変更

Copyright© 2022 Japan Registry Services Co., Ltd.

2

Posh-ACME ご利⽤マニュアル

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

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

Posh-ACME について
Posh-ACME は Windows PowerShell 向けのモジュールです。無償で利⽤可能です。
※ 本資料の執筆時点において、Posh-ACME は⽇本語のメッセージ表⽰に対応していないため、エラーメッセージの表⽰が⽂字化けします。エラーメッセージは英語と⽇本語で表⽰されますので、英語のメッセージを参照してください。

本資料における前提条件について本資料は、以下の前提条件で記述しています。
Windows Server 2019 及び IIS 10 をご利⽤中のものとします。
Administrator 権限でコマンドを実⾏できるものとします。
OS の設定については、本資料の対象外とします。
モジュールのインストール⽅法については、本資料の対象外とします。
ワイルドカード証明書を含む、DNS 認証（dns-01）を利⽤したサーバー証明書の発⾏・更新につきましては、ご利⽤中の DNS プロバイダーとの連携に対応したプラ

Copyright© 2022 Japan Registry Services Co., Ltd.

3

Posh-ACME ご利⽤マニュアル
グインが必要となるため、本資料の対象外とします。恐れ⼊りますが、DNS 認証プ
ラグインの利⽤⽅法につきましては、ご利⽤者様にてご確認ください。

Copyright© 2022 Japan Registry Services Co., Ltd.

4

Posh-ACME ご利⽤マニュアル

2 事前準備Posh-ACME のインストール
以下の参考 URL に記載された公式ドキュメント等をご参照のうえ、ご利⽤の環境にPowerShell から Posh-ACME モジュールと Posh-ACME.Deploy モジュールをインストールしてください。
なお、インストール⽅法については本資料では扱いませんので、予めご了承ください。
参考 Posh-ACME https://github.com/rmbolger/Posh-ACME
Posh-ACME.Deploy https://github.com/rmbolger/Posh-ACME.Deploy

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

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

Copyright© 2022 Japan Registry Services Co., Ltd.

5

Posh-ACME ご利⽤マニュアル

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

Set-PAServer コマンドで、JPRS の ACME サーバーを接続先に指定します。
PS C:\ > Set-PAServer https://acme.amecert.jprs.jp/DV/getDirectory
PS C:\ >の表⽰は、ご利⽤の環境により異なります。また、この部分の⼊⼒は不要です。

New-PAAccount コマンドで EAB（認証情報）を利⽤し、ACME アカウントを発⾏します。
・-ExtAcctKID（必須）︓指定事業者から受領した MAC 鍵識別⼦を⼊⼒します。
・-ExtAcctHMACKey（必須）︓指定事業者から受領した MAC 鍵を⼊⼒します。
・-Contact（必須）︓JPRS からの緊急連絡を受信するメールアドレスを登録します。
・-AcceptTOS（必須）︓ご利⽤条件に同意します。

PS C:\ > New-PAAccount -ExtAcctKID
62lYPavZWyE2MkzARtx_vxi7hmyFDG9GwOG8AlN_AAA -ExtAcctHMACKey
7O2PTsLwGNcr9bn3ImOD5-vlKE750bytPwjApnWcAAA -Contact info@jprs.jp AcceptTOS
以下のメッセージが表⽰されましたら、ACME アカウントの発⾏は完了です。
idstatuscontact---------------

mk8NmSN--MQB8JCPR... validalg---

KeyLength---------{mailto:info@jprs.jp} ES256

ec-256※マニュアルへの記載の都合上、⼀部表⽰内容を省略しております。

Copyright© 2022 Japan Registry Services Co., Ltd.

6

Posh-ACME ご利⽤マニュアル

サーバー証明書を発⾏する
本サービスではサーバー証明書発⾏時のドメイン名利⽤権の確認⽅法として、ACME のファイル認証（http-01）または DNS 認証（dns-01）を利⽤できます。
本マニュアルではファイル認証を利⽤し、IIS に証明書を設定する場合の例を記載します。
ご注意※ DNS 認証を利⽤する場合、ご利⽤中の DNS プロバイダーとの連携に対応したプラグインが必要になります。DNS 認証⽤のプラグインの利⽤⽅法につきましては、恐れ⼊りますがご利⽤者様にてご確認ください。
New-PACertificate コマンドで、証明書の発⾏申請をします。
・-Plugin WebRoot︓ファイル認証に利⽤するプラグインを指定します。
（本プラグインはデフォルトでインストールされています）
・-PluginArgs ︓ ウェブサイトのルートディレクトリを⼊⼒します。
New-PACertificate example.jp -Plugin WebRoot -PluginArgs @{WRPath ='C:\inetpub\wwwroot'}
複数の FQDN を指定する場合、example.jp,www.example.jp のようにコンマで区切って指定します。複数の FQDN を指定することで、それらの FQDN が SAN（そのサーバー証明書を設定・使⽤するドメイン名）に記載された、1 枚の証明書が発⾏されます。
ご注意※ この状況において指定した FQDN の⼀つを利⽤終了した場合、その証明書⾃体が失効され、結果として他の FQDN が使⽤中であった場合も、指定したすべての FQDN の証明書が無効となることにご注意ください。
当該状況を回避するため、複数の FQDN を指定する場合、同じ利⽤期間を持
つ FQDN とすることを推奨します。

当該コマンドを実⾏した際、以下のエラーメッセージが表⽰されます。
Exception: C:\Program Files\PowerShell\Modules\PoshACME\4.12.0\Public\New-PACertificate.ps1:238
Line |

Copyright© 2022 Japan Registry Services Co., Ltd.

7

Posh-ACME ご利⽤マニュアル
238 ||Submit-ChallengeValidation~~~~~~~~~~~~~~~~~~~~~~~~~~| Authorization invalid for (指定した FQDN):
このエラーは以下の⼿順により「インターネットインフォメーションサービス（IIS）マネージャー」に、MIME の種類を設定することで解消できます。

①

インターネットインフォメーションサービス（IIS）マネージャーを起動し、サーバー証明書を設定するサイトを選択し、配下の.well-known フォルダーをダブルクリックします。

※ New-PACertificate コマンドを⼀度も実⾏していない場合、.well-known フォルダーは作成されていませんのでご注意ください。

②「MIME の種類」をダブルクリックします。

Copyright© 2022 Japan Registry Services Co., Ltd.

8

Posh-ACME ご利⽤マニュアル③ MIME の種類が表⽰されている部分で右クリックし、「追加」をクリックします。

④ MIME の種類の追加が表⽰されたら以下の通り⼊⼒し、OK をクリックします。
・ファイル名の拡張⼦（E）:.

※ドット（.）のみ

・MIME の種類（M）:text/plain⑤ インターネットインフォメーションサービス（IIS）マネージャーを閉じます。

Copyright© 2022 Japan Registry Services Co., Ltd.

9Posh-ACME ご利⽤マニュアル
再度、New-PACertificate コマンドで、証明書の発⾏申請をします。
New-PACertificate example.jp -Plugin WebRoot -PluginArgs @{WRPath ='C:\inetpub\wwwroot'}

以下のメッセージが表⽰されれば、証明書の発⾏は完了です。
Subject

NotAfter---------------

KeyLength Thumbprint AllSANs--------- ---------- -------

CN=example.jp 2022/04/21 14:59:59 2048

36C4211B5E {example...

ご注意※ ワイルドカード証明書はファイル認証では発⾏できません。DNS 認証をご利⽤ください。
※ DNS 認証では、証明書の発⾏対象となる FQDN のゾーンを管理する権威
DNS サーバーに、ドメイン名利⽤権確認⽤の認証⽂字列が記載されたTXT レコードを所定の⽅式で設定・更新する必要があります。そのため、DNS 認証を利⽤して証明書の発⾏・更新を⾃動化する（TXT レコードの設定・更新を⾃動化する）場合、ご利⽤の DNS プロバイダーがACME クライアントとの API 連携に対応している必要があります。詳細
につきましては、ご利⽤中の DNS プロバイダーにご確認ください。
※ Posh-ACME には主な DNS プロバイダーとの API 連携に対応したプラグインが⽤意されています。詳細は Posh-ACME 公式の Web サイト(*)をご確認ください。
(*) https://poshac.me/docs/v4/Plugins/Copyright© 2022 Japan Registry Services Co., Ltd.

10

Posh-ACME ご利⽤マニュアル

サーバー証明書をインストールする
Get-PACertificate | Set-IISCertificate コマンドを実⾏し、証明書を IIS にインストールします。
・SiteName︓IIS のサイトネームを指定します。
・Port︓IIS のポート番号を指定します。
PS C:\ > Get-PACertificate | Set-IISCertificate -SiteName example.jp -Port 443

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

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

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

Copyright© 2022 Japan Registry Services Co., Ltd.

11

Posh-ACME ご利⽤マニュアル

4 証明書の更新
更新を⾏う
Submit-Renewal コマンドを実⾏し、サーバー証明書を更新します。
PS C:\ > Submit-Renewal example.jp

サーバー証明書をインストールする
Get-PACertificate | Set-IISCertificate コマンドを実⾏し、サーバー証明書を IIS にインストールします。
・SiteName︓IIS のサイトネームを指定します。
・Port︓IIS のポート番号を指定します。
PS C:\ > Get-PACertificate | Set-IISCertificate -SiteName example.jp -Port 443

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

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

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

Copyright© 2022 Japan Registry Services Co., Ltd.

12Posh-ACME ご利⽤マニュアル

更新とインストールを⾃動化する
更新とインストールを⾃動化したい場合、タスクスケジューラと PS1 ファイルを利⽤します。
テキストエディタ（メモ帳など）で以下の内容を記載し、拡張⼦を ps1 として保存します。
Start-Transcript acme_log.txt
Set-PAOrder example.jp -Verbose
if ($cert = Submit-Renewal) {Start-Sleep 600$cert | Set-IISCertificate -SiteName example.jp -Port 443 -Verbose}
Stop-Transcript※ログファイル名、ドメイン名、サイトネーム、ポート番号は環境に応じて書き換えてください。

キーボードの「Windows」キーを押しながら「R」キーを押し、「ファイル名を指定して実⾏」を表⽰します。

Copyright© 2022 Japan Registry Services Co., Ltd.

13

Posh-ACME ご利⽤マニュアル「名前（O）」に taskschd.msc と⼊⼒して、OK をクリックします。

タスクスケジューラが起動しますので、「タスクの作成」をクリックします。

Copyright© 2022 Japan Registry Services Co., Ltd.

14

Posh-ACME ご利⽤マニュアル
タスクの作成が表⽰されたら、「名前（M）」にタスクの名前を⼊⼒し、セキュリティオプションの「ユーザーがログオンしているかどうかに関わらず実⾏する（W）」をクリックします。
※名称には任意の名前を設定可能です。わかりやすい名前を⼊⼒しておくとよいでしょう。

Copyright© 2022 Japan Registry Services Co., Ltd.

15

Posh-ACME ご利⽤マニュアル
再び、タスクの作成が表⽰されますので、「トリガー」タブをクリックします。

トリガータブが表⽰されましたら、「新規（N）」をクリックします。

Copyright© 2022 Japan Registry Services Co., Ltd.

16

Posh-ACME ご利⽤マニュアル
新しいトリガーが表⽰されたら以下の内容を選択・⼊⼒し、画⾯下の「OK」をクリックします。
・設定の「毎⽇（D）」を選択
・「開始（S）」の時刻欄に、毎⽇の更新チェックを開始したい時刻を設定※任意の時刻を設定可能です。

Copyright© 2022 Japan Registry Services Co., Ltd.

17

Posh-ACME ご利⽤マニュアル
タスクの作成に戻りますので「操作」のタブをクリックし、「新規（N）」をクリックします。

操作の編集が表⽰されますので、プログラム/スクリプト（P）に以下を⼊⼒します。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
引数の追加（オプション）に作成した-Command “ps1 ファイルを保存したパス”を⼊⼒し、「OK」をクリックします（例︓-Command "C:\renew.ps1"）。

Copyright© 2022 Japan Registry Services Co., Ltd.

18

Posh-ACME ご利⽤マニュアル
タスクの作成が表⽰されますので、「OK」をクリックし、設定を完了します。

ご注意※ 更新処理は、サーバー証明書の有効期限（発⾏から 90 ⽇後）の 30 ⽇前から可能です。更新可能なタイミングになりましたら、必ず更新処理が⾏われているかをご確認ください。

Copyright© 2022 Japan Registry Services Co., Ltd.

19

Posh-ACME ご利⽤マニュアル

5 その他必要時にのみ⾏う作業（強制更新、失効）
強制的に更新を⾏う- Force オプションを指定することで、証明書を強制的に更新できます。緊急に証明書の⼊れ替えが必要になったなどの場合に、本オプションを指定してください。
強制更新が完了しましたら、⼿順 4.2「サーバー証明書をインストールする」を参照し、サーバー証明書をインストールしてください。
※ ⼤量の証明書発⾏が継続して⾏われた場合、サーバー側で申請を制限する場合があります。
PS C:\ Submit-Renewal example.jp -Force（必要時）証明書を失効する
秘密鍵の危殆化など、証明書を失効する必要が⽣じた場合、次のコマンドを実⾏することで証明書を失効できます。
PS C:\ Revoke-PACertificate example.jp

Copyright© 2022 Japan Registry Services Co., Ltd.

20Posh-ACME ご利⽤マニュアル

6 参考情報Posh-ACME 公式サイト
様々な環境における Posh-ACME のインストール・証明書の設定⽅法が記載されています。
https://poshac.me/Copyright© 2022 Japan Registry Services Co., Ltd.

21

Posh-ACME ご利⽤マニュアル

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 by
the 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© 2022 Japan Registry Services Co., Ltd.

22

Posh-ACME ご利⽤マニュアル
400

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

The contact information isinvalid:malformed

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

400

malformed

400

malformed

400

malformed

400malformed

400malformed

400malformed

400malformed

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 anunsupported protocol
scheme: [%s]An identifier is of an
unsupported type

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

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

Copyright© 2022 Japan Registry Services Co., Ltd.

23