目次

IIS + simple-acme(新規、自動更新)

ご確認ください

本マニュアルは手順をご案内するものです。本マニュアルの内容に基づき生じた結果や影響について、弊社は一切の責任を負いかねますので、あらかじめご了承ください。
弊社では、お客様がご利用になるウェブサーバアプリケーションやツール等に関する仕様、本マニュアルに記載のないその他詳細な設定手順、不具合などのサポートは行っておりません。各製品の開発元またはサービス提供元へお問い合わせください。
OpenSSL、Apache、nginxなど明確なお問い合わせ先のないオープンソースのアプリケーションの設定や不具合については、お客様の責任においてご対応くださいますようお願いいたします。
オープンソースのアプリケーションを利用する場合は脆弱性などの問題がないか随時情報を確認いただき、万一問題が発見された場合は該当サービスの停止や対応パッチを適用するなど、運用には十分ご注意ください。

本ページでは、Windows Server 2022のIIS10でsimple-acmeを利用したサーバ証明書のインストールおよび自動更新の手順をご紹介いたします。

1.simple-acmeのインストール

  1. https://simple-acme.com/にアクセスし、画面右上の「Download」をクリックしご利用の環境にダウンロードします。

  2. ダウンロードが完了したら、ダウンロードしたファイルを右クリックし「すべて展開」から任意のフォルダに展開してください。
  3. 指定したフォルダに、ファイルが展開されます。
  4. 展開されたフォルダ内のファイル「settings_default(.json)」をテキスト形式で開き、以下の項目のURLを下記指定のURLに編集し保存してください。

    https://emea.acme.atlas.globalsign.com/directory

     "Acme": {
        "DefaultBaseUri": "https://acme-v02.api.letsencrypt.org/",
        "DefaultBaseUriTest": "https://acme-staging-v02.api.letsencrypt.org/",
        "DefaultBaseUriImport": "https://acme-v01.api.letsencrypt.org/",


    下記のように変更します。

     "Acme": {
     "DefaultBaseUri": "https://emea.acme.atlas.globalsign.com/directory",
        "DefaultBaseUriTest": "https://emea.acme.atlas.globalsign.com/directory",
        "DefaultBaseUriImport": "https://emea.acme.atlas.globalsign.com/directory",



    """Csr"": {
      ""DefaultCsr"": null,
      ""Rsa"": {
      ""KeyBits"": 3072,
      ""SignatureAlgorithm"": ""SHA512withRSA""" 


    下記のように変更します。

     """Csr"": {
      ""DefaultCsr"": null,
      ""Rsa"": {
       ""KeyBits"": 2048,
       ""SignatureAlgorithm"": ""SHA256withRSA"""

2.証明書の発行とバインド

  1. 展開したフォルダ内にある「wacs.exe」を右クリックし「管理者として実行」をクリックします。

  2. WindowsのSmartScreenが表示されますので、「実行」ボタンをクリックします。
    ※動作や安全性を保証するものではございません。ご理解のうえご利用ください。
  3. simple-acmeを実行するコマンドプロンプトウィンドウが表示されます。
    ※実際の内容は画像と一部異なる場合があります。

    ※初回起動時はsimple-acmeでの証明書未発行の為、renewal系のメニューはグレーアウトしています。

  4. 以下メニューが表示されますので、新規作成の値「n(N)」を入力し「Enter」キーを押下します。
     N: Create certificate (default settings)
     M: Create certificate (full options)
     R: Run renewals (0 currently due)
     A: Manage renewals (1 total)
     O: More options...
     Q: Quit

  5. ウェブサイト(ホスト)をスキャンし自動選択されるため、そのまま「Enter」キーを押下します。

  6. IIS上で割り当てているホスト名が自動的に選択されるため、「y(Y)」を入力し「Enter」キーを押下します。 
    ※複数のホスト名が存在する場合、証明書を割り当てたい数字を選択してください。

  7. 「Globalsign_Subscriber_Agreement(利用約款)」を確認し、同意をする必要があるため、下記どちらも「y(Y)」を入力してください。

     Open in default application? (y/n*) - yes
     Do you agree with the terms? (y*/n) - yes

    ※自動的にブラウザが立ち上がり、利用約款が表示されます。

  8. 利用約款への同意後、「Key identifier」と「key(base64url encoded)」が求められるため、下記手順にてatlasポータルから取得した[KeyID]と[ACME MAC]を入力してください。

    「Key identifier」= [KeyID]
    「key(base64url encoded)」=[ACME MAC]


    API-KEYとACMEMACの取得方法
    API Credentialsの取得方法について ACME MACの取得方法について

  9. 各key情報の入力後、正常にインストールされたレスポンスが表示されれば完了です。

  10. IISマネージャーからバインドやタスクスケジューラーの設定が行われているかご確認ください。


    ※自動更新はデフォルトでは"毎日""9時"の設定となっているため、任意の日時にご設定ください。

FAQ

Q. 証明書の発行時にエラーが発生します。
以下をご確認ください。
・サーバにホスト名やグローバルIPアドレスが割り振られているか。
原因がご不明の場合は、エラー時のレスポンスを添付のうえ、サポート窓口にお問合せください。

Q. [Error requesting certificate]というエラーが表示され、証明書が発行できません。
一度紐づけた各Key情報を削除し、証明書のリクエストをやり直してください。

simple-acmeに紐づいた各Key情報の保管場所について

デフォルト保管場所

C:\ProgramData\simple-acme\emea.acme.atlas.globalsign.comdirectory

以下のファイルを削除することで、登録済みのKey情報を削除できます。

・Registration_v2
・Signer_v2

手動更新

緊急で証明書の入れ替えや、万が一自動更新が行われない場合には手動更新をご利用ください。
※大量の証明書発行が継続して行われた場合、サーバー側で申請を制限する場合があります。

  1. 「wacs.exe」を右クリックし「管理者として実行」をクリックします。
  2.  更新「R: Run renewals (0 currently due)」メニューの「a(A)」を入力し「Enter」キーを押下します。
  3. 続いて表示されたメニューの「 T: Run the renewal (force, no cache)」を実行するため「t(T)」を入力し「Enter」キーを押下します。
  4. 「Renewal for [IIS] (any site), (any host) succeeded」のレスポンスが表示されれば成功です。
    ※「succeeded with errors」のように一部エラーが発生する場合もありますが、証明書のご利用に影響はありません。

ワイルドカード証明書の発行について

  1. simple-acmeのメニューの[M] "Create certificate (full options)" を選択します。
  2. 設定の入力方法の選択画面が表示されます。
    今回はワイルドカード証明書を取得するため、[2]の "Manual input" を選択します。
    続いて証明書のホスト名の入力の選択が求められますので、[2] "Manually enter host names"を選択します。
  3. ワイルドカード証明書を取得したいドメイン名を入力します。
    ワイルドカードは先頭のホスト名を*で表現します。
    注:ここでホスト名を手動で入力し、*付きとすることでワイルドカード付証明書のリクエストとなります。
    *.globalsign.com *.sample.globalsign.com のような形式でホスト名を入力します。

    今回はgssup.workというテストドメインを使用し、*.gssup.workで申請を進めます。
    (フレンドリー名をつける場合は、名称を入力します。ここはブランクでも先に進めます。)
  4. ドメインの認証方法を選択します。
    ワイルドカード証明書の場合は、「DNS認証」のみ利用できます。
    [3]: Separate certificate for each registerable domain (e.g. *.example.com)を選択し、[8]: [any] Certificate(s) are pre-authorized outside of simple-acmeを選択して進めます。

    ※今回は、既にAtlasポータル上でDNS認証に対応したドメイン(gssup.work)を使用する為、
    ドメインの認証は発生しません。

    メニュー表示

    説明

    自動更新

    8:Certificate(s) are pre-authorized outside of simple-acme ドメイン検証はすでにCA側で完了している前提。
    simple‑acme はチャレンジを一切実施しない
     可
    9:Perform validation challenge manually チャレンジ内容(HTTPファイル / DNS TXT)を表示する 不可
    10:Perform validation challenge with your own script 自作スクリプトに処理を任せる。
    create / delete を simple‑acme が指示
  5. CSRファイルに使用するキーの種類を選択します。
    今回はデフォルトの [2] "RSA Key"を選択します。
  6. 証明書の保存方法を選択します。
    証明書の取得後にサーバーにもバインドしますので、デフォルトの[2] "Add to Windows Certificate Store (Local Computer)" を選択します。

    表示

    説明

    1:Add to IIS Central Certificate Store IIS Central Certificate Store(CCS) に保存
    (通常はホストごとに PFX を置く運用)
    2:Add to Windows Certificate Store (Local Computer) Windows 証明書ストア(ローカルコンピューター)に格納
    (IIS 連携の標準ルート)
    3:Create P7B archive file
    (no private key!)
    P7B ファイルを作成(※秘密鍵なし。チェーン配布用)
    4:Create PEM encoded files
     (for Apache, nginx, etc.)
    PEM ファイル群を作成(Apache/nginx向け)
    5:Create PFX/PKCS12 archive file PFX(PKCS#12)ファイルを作成
    (秘密鍵あり。移行/バックアップ向け)
    注意:[管理者として実行]を選択しない場合、証明書の保存先の[2] はグレーアウトされ、選択できません。
  7. IIS側で自動でバインドさせるWEBサイトを指定します。
    今回はデフォルトの[3] “Use global default, currently WebHosting“を選択します。
  8. 追加で保存する方法を追加で選択できます。
    ほかの保存方法は不要なので [6] "No (additional) store steps" を選択します。
  9. 処理が実行され、Certificate WildCardTest(フレンドリー名) createdが表示され、証明書が発行されました。
  10. 発行された証明書が正しくIIS上でバインドされているか確認してください。