win-acme を利用してIISでLet's Encrypt のSSL証明書を利用したSSLサイトを作成する
win-acme を利用してIISでLet's Encrypt を利用したSSLサイトを作成する手順を紹介します。
概要
win-acmeを利用すると、Let's Encryptの無償のSSL証明書を発行できます。この記事では、IISのWebサーバーを利用している環境でwin-acmeを利用しLet's EncryptのSSL証明書を取得してhttpsサイト(SSL対応サイト)を設定する方法を紹介します。
この記事では、win-acmeを利用したSSL証明書の取得方法、手順を紹介します。
ダウンロード (2021年版)
win-acme のWebサイト(
https://www.win-acme.com/)にアクセスします。下図のページが表示されます。
ページ右上の[DOWNLOAD]ボタンをクリックします。
クリックすると、最新のwin-acmeのダウンロードが始まります。
win-acmeのダウンロードができました。今回ダウンロードしたのは "win-acme.v2.1.17.1065.x64.pluggable.zip" になります。
インストール (新規配置、または、version 2.x からのアップデート)
ダウンロードしたwin-acmeのZIPファイルを展開し任意のディレクトリに配置します。
今回は、C:¥Toolsフォルダ内に配置しました。
ZIPファイルを展開したディレクトリ内を確認します。下図がZIPファイルに含まれるファイル一覧になります。
wacs.exe がwin-acmeのクライアントアプリケーションです。
動作確認 (version 2.x からのアップデート)
動作確認します。win-acmeを配置したフォルダの wacs.exe を起動します。コマンドプロンプトのウィンドウが表示され、下図の画面が表示されます。
[R]キーを押して、証明書の更新処理を実行します。
証明書の更新処理が実行されます。エラーが発生せず更新の確認処理が完了すれば動作は問題ありません。
インストール (version 1.9 からのアップデートの場合)
ダウンロードしたwin-acmeのZIPファイルを展開し任意のディレクトリに配置します。今回は win-acme 1.9 を利用しているマシンを version 2.0 に移行します。
展開されたディレクトリ内のファイル一覧です。wacs.exe がwin-acmeのクライアントアプリケーションになります。
SSL証明書の取得 (新規配置、または Version 1.x からのアップデートの場合)
エクスプローラのウィンドウで wacs.exe のアイコンをダブルクリックしてプログラムを実行します。下図のウィンドウが表示されます。メニューが表示されます。
メニューで[N]キーを押して新しいSSL証明書を作成します。SSL証明書の作成方式メニューが表示されます。今回は Single binding of an IIS site を利用しますので、[1]を入力します。
IISに設定されているサイトの一覧が表示されます。ホスト名とSiteIdが一覧で表示されます。
補足 : SiteIdの調べ方
ホスト名が同じ場合、SiteIdで区別するしか方法がありません。SiteIdの調べ方は下記です。
インターネット インフォメーション サービス (IIS) マネージャーのウィンドウを開きます。左側のツリービューで、SiteIdを取得したいサイトをクリックして選択します。右クリックしてポップアップメニューが表示されますのでメニューの[Web サイトの管理]メニューの[詳細設定]の項目をクリックします。
[詳細設定]ダイアログが表示されます。[(全般)]セクションの[ID]の欄に表示されている値がSiteIdの値となります。
作成したいサイトの番号を入力します。今回は"Site ID 2" のサイトのSSL証明書を作成するため、"7" を入力します。
SSL証明書の通知を受け取るメールアドレスを入力します。
利用規約(Terms of Service)を確認します。[y]キーを押すとPDFをデフォルトのアプリで開きます。
利用規約(Terms of Service)の確認ができたら[y]キーを入力します。
SSL証明書の要求と取得が実行されます。証明書更新のスケジューリングも設定されます。
SSL証明書の確認
SSL証明書がインストールできているか確認します。[インターネット インフォメーション サービス (IIS) マネージャー]を開きます。左側のツリービューでSSL証明書を取得したサイトのノードをクリックして選択します。右クリックしてポップアップメニューを表示し[バインドの編集]の項目をクリックします。
[サイト バインド]のダイアログが表示されます。SSLのバインドの項目をクリック視点選択し[編集]ボタンをクリックします。
[サイト バインドの編集]ダイアログが表示されます。ダイアログ下部の[SSL 証明書]のコンボボックスに設定されている証明書の日時が証明書要求時の日時と一致していることを確認します。
補足
win-acme version 1 で取得した場合の証明書名は
(ホスト名) (証明書取得日時)
の表示形式でしたが、win-acme version 2で取得した証明書名は
[IISBinding] (ホスト名) (証明書取得日時)
となっています。
補足
以前のバージョンでは、answerファイルが作成されましたが、version 2.x の場合は、
デフォルトの確認補法はメモリでの確認方法になり、answerファイルの配置はありません。
メニューで"L" キーを入力して更新スケジュールの設定を確認します。取得した証明書がスケジュールされていることが確認できます。
タスク スケジューラの確認
Version 2.x のプログラムを更新した場合
[タスク スケジューラ]のウィンドウを開きます。。ウィンドウ左側のツリービューで[タスク スケジューラ ライブラリ]のノードをクリックして選択します。右側にタスクの一覧が表示されます。。右側にタスクの一覧が表示されます。リストに "win-acme renew (acme-v02.api.letsencrypt.org)" の項目があることを確認します。
項目をクリックして選択し、右クリックします。下図のポップアップメニューが表示されますので、[プロパティ]の項目をクリックします。
プロパティダイアログが表示されます。
上部のタブの[操作]をクリックします。下図の画面が表示されます。[プログラムの開始]の項目をクリックして選択し、ウィンドウ下部の[編集]
ボタンをクリックします。
[操作の編集]ダイアログが表示されます。[プログラムスクリプト]のプログラムを、先ほど配置した新しいバージョンの "wacs.exe" に変更します。
変更ができたらダイアログ右下の[OK]ボタンをクリックします。
タスクスケジューラーから呼び出されるwacs.exeのプログラムを更新できました。
Version 1.x からのアップデートの場合
証明書の更新処理が実行される設定になっているか確認します。[タスク スケジューラ]のウィンドウを開きます。ウィンドウ左側のツリービューで[タスク スケジューラ ライブラリ]のノードをクリックして選択します。右側にタスクの一覧が表示されます。リストに "win-acme renew (acme-v02.api.letsencrypt.org)" の項目が追加されていることを確認します。
ウィンドウ右側の[操作]タブをクリックして実行されるコマンドを確認します。win-acme version2 のwacs.exe が実行される設定になっていますので問題ありません。
補足
win-acme version 2を導入しても、win-acme version 1の証明書更新のタスク スケジューラの設定は自動で削除されないため、手動で削除するか、無効状態にしておく必要があります。
IISで複数のサイトをホストしている場合は、それぞれのサイトについて同様の手順でSSL証明書を取得します。
参考 : 以前のダウンロード手順 (GitHubからのダウンロード)
win-acme のGitHubのWebサイト(
https://github.com/PKISharp/win-acme)にアクセスします。
リリース画面(
https://github.com/PKISharp/win-acme/releases)から最新のwin-acmeをダウンロードします。記事作成時点ではVersion 2.0.6 が最新版です。
ページの下部にダウンロードリンクがあります。
ZIPファイルでwin-acmeをダウンロードできます。
このページのキーワード
- Windows Server
- IIS
- Let's Encrypt
- win-acme
- httpsサイトの作成
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。