win-acme を利用してワイルドカード証明書を取得する
win-acme を利用してワイルドカード証明書を取得する手順を紹介します。
概要
こちらの記事ではwin-acmeを利用して、SSL対応サイトを構築する手順を紹介しました。
一般的なWebサーバーであれば、先に紹介した方法で問題ありませんが、サーバー名が決まっていないうちに証明書を取得したい場合、サーバー名の変更がある場合などでは、
ホスト名を決めて証明書を取得する方法では不便な場合があります。この記事では、win-acmeを利用して、ドメインのワイルドカード証明書を取得する手順を紹介します。
補足
なお、この記事で紹介する方法はインターネットに接続できるサーバーの場合です。
インターネットに全く接続できないイントラネットのサーバーやwin-acmeクライアントが動作しないハードウェアに対して証明書を設定する場合は、
証明書ファイルを取得して手動でサーバーに設定する必要があります。
ワイルドカードの証明書ファイルを取得する場合の手順は
こちらの記事を参照してください。
手順
win-acmeをダウンロードして、証明書を設置するサーバーに配置します。ダウンロード手順は
こちらの記事を参照してください。
wacs.exe ファイルを実行します。実行する際に[管理者として実行]を選択します。
注意
[管理者として実行]を選択しない場合、証明書の保存先に[Windows 証明書ストア]を選択できない状態になってしまいます。
下図のウィンドウが表示されます。win-acmeのメニューが表示されます。メニューの[M]の "Create certificate (full options)" を選択します。
設定の入力方法の選択画面が表示されます。今回はワイルドカード証明書を取得するため、[2]の "Manual input" を選択します。
証明書のホスト名の入力プロンプトが表示されます。
ワイルドカード証明書を取得したいドメイン名を入力します。ワイルドカードは
*
で表現します。
*.ipentec.net
*.intra.ipentec.jp
といった形式で
ホスト名を入力します。
フレンドリー名を設定できます。フレンドリー名をつける場合は、名称を入力します。
ドメインのオーナーの確認方法を選択します。ワイルドカード証明書でない場合は、従来のWebサーバーに配置した確認ファイルにアクセスする方法が利用できますが、
ワイルドカード証明書の場合は、DNSでの確認方法のみ利用できます。[6]の"Create verification records manually (auto-renew not possible)" を選択します。
CSRファイルに使用するキーの種類を選択します。今回はデフォルトの [2] "RSA Key"を選択します。
証明書の保存方法を選択します。証明書の取得後にサーバーにもバインドしますので、デフォルトの[4] "Windows Certification Store" を選択します。
注意
[管理者として実行]を選択しない場合、証明書の保存先のの[4] "Windows Certification Store" はグレーアウトしてしまい、選択できません。
証明書ストアの保存先ストアを選択します。今回はデフォルトの[3] "[Default] - Use global default. currently WebHosting" を選択します。
他に保存する方法を追加で選択できます。ほかの保存方法は不要なので [5] "No (additional) store steps" を選択します。
取得した証明書のバインド方法を選択します。デフォルトの [1] "Create or update https bindings in IIS" を選択します。
IISからサイトの一覧が取得されます。バインドに設定するサイトの番号を入力します。
バインド方法の選択画面に戻ります。複数バインドするサイトがある場合は同じ操作を繰り返します。
設定が終わったら[4] "No (additional) installation steps" を選択します。
Terms of Service の確認画面が表示されます。[y]キーを押します。
Webブラウザが起動し、Let's Encrypt のライセンスPDFが表示されます。
[y]キーを押してTerms of Service に同意します。
連絡先メールアドレスを入力します。複数設定する場合は、"," で区切ります。
認証情報が表示されます。DNSのTXTレコードに追加する値が表示されます。
*.ipentec.net
のワイルドカード証明書を取得する場合には
_acme-challenge.ipentec.net
のTXTレコードを作成し、表示されている Contentをキーの値に設定します。
DNSにTXTレコードを追加します。
TXTレコードの追加後、[Enter]キーを押します。レコードの確認処理が実行されます。
[Enter]キーを押します。証明書が取得され、指定した保存先(今回はWindows証明書ストア)に保存されます。
タスクスケジューラーに更新タスクを追加するかの確認があります。手動でDNS設定した場合は更新処理が自動では動かないとの説明でしたが、
試しにタスクに登録しておくことにします。[y]キーを押します。
タスクを実行するアカウント名を入力します。
入力したアカウントのパスワードを入力します。
タスクが追加され、最初のメニューに戻ります。[Q] "Quit" を選択して、wacs.exe を終了します。~
IISのバインドの確認
win-acmeの証明書取得時に指定したサイトに証明書がバインドされているか確認します。[インターネット インフォメーション サービス(IIS) マネージャー] を開きます。
左側のツリービューでサイトのノードをクリックして選択し右クリックします。ポップアップメニューが表示されますので、メニューの[バインドの編集...]の項目を
クリックします。
バインドのダイアログを表示し、HTTPSサイトのバインドの設定を確認します。[サイト バインドの編集]ダイアログを表示し、[SSL 証明書]の欄を確認します。
証明書の取得時刻が表示されており、作成した時刻とあっていれば、新しい証明書に変更できていることが確認できます。
また、[インターネット インフォメーション サービス(IIS) マネージャー]の[サーバー証明書]の設定項目を開き、証明書が追加されていることも確認できます。
証明書の項目をダブルクリックして証明書を表示します。証明書のパスが、"ISRG Root X1" - "R3" となっており、Let's Encrypt の証明書であることが確認できます。
証明書の詳細を確認します。[サブジェクト代替名]の値が
DNS Name=*.ipentec.com
となっておりワイルドカード証明書であることが確認できました。
タスク スケジューラーの確認
タスクスケジューラーを開いてタスクを確認します。"win-acme renew" のタスクが追加されていることが確認できます。
このページのキーワード
- win-acme ワイルドカード 証明書
- Windows Server win-acme SSL ワイルドカード 証明書
- win-acme SSL ワイルドカード 証明書
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。