win-acme を利用してインターネットに接続していない機器用の証明書を取得する - Windows Server
win-acme を利用してインターネットに接続していない機器用の証明書を取得する手順を紹介します。
概要
win-acmeを利用して証明書を取得する手順を
こちらの記事で紹介しました。
ワイルドカードの証明書の取得方法
こちらの記事で紹介しました。
通常の利用であれば、先に紹介した手順で問題ありませんが、イントラネット内のサーバーでインターネットに接続できないサーバーや、
win-acmeなどのプログラムが動作しない組み込み機器に証明書を設定したい場合には、紹介した方法では対応できません。
インターネットに接続できている別のマシンで証明書を要求して取得した後に、対象のサーバーへインストールする必要があります。
多くの場合、完全にインターネットに接続できないマシンは少ないですが、この記事ではwin-acmeで証明書ファイルを取得する手順について紹介します。
背景
これまでは、イントラネットや内部のサーバーは自組織のCAでの証明書を利用してHTTPSサイトを構築していましたが、接続するすべてのデバイス、
PC、スマートフォンに自組織のCAの証明書を配り、信頼されたルート証明書の追加をする必要がありました。
デバイスの台数の増加や、アプリケーションごとに証明書を設定する必要が出てくるため(例:Microsoft Visual Studio)、内部のサーバーのサーバー証明書も自組織のCAではなく、
Let's Encrypt の証明書を利用したいです。今回はワイルドカードの証明書ファイルを取得して対応します。
なお、内部のサーバーでもインターネットに接続できる場合は、
こちらの記事の方法で対応できます。
手順
win-acmeをダウンロードして配置します。win-acmeのダウンロードは
こちらの記事を参照してください。
wacs.exe ファイルを実行します。実行する際に[管理者として実行]を選択します。
下図のウィンドウが表示されます。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"を選択します。
証明書の保存方法を選択します。今回はこのマシンで証明書を取得して別のマインに証明書をインストールするため、
証明書のファイルを取得します。[1] "IIS Central Certificate Store (.pfx per host)" を選択します。機器によっては [2] "PEM encoded files (Apache, nginx, etc.)" を
選択する場合もあります。
証明書ファイルの保存先のパスを設定します。今回は
c:\data
に証明書を保存します。
証明書のパスワードを設定します。今回はパスワードなしとするため、[1]を選択します。
証明書の保存方法のメニューに戻ります。ほかの保存方式は今回は不要なので、[5] "No (additional) store steps" を選択します。
証明書のバインド方法の選択メニューが表示されます。今回は処理は不要なので、[4] "No (additional) installation steps" を選択します。
Terms of serviceの確認画面が表示されます。
Webブラウザが起動し、下図のPDFファイルが表示されます。
wacsのコンソール画面に戻り[y]キーを押し利用規約に同意します。
ドメインの所有確認画面が表示されます。
認証情報が表示されます。DNSのTXTレコードに追加する値が表示されます。
*.ipentec.net
のワイルドカード証明書を取得する場合には
_acme-challenge.ipentec.net
のTXTレコードを作成し、表示されている Contentをキーの値に設定します。
DNSサーバーにTXTレコードを追加します。
TXTレコードの追加後にコンソール画面に戻り[Enter]キーを押します。DNSの確認処理が実行されます。
補足
2回目以降の場合は、設定の上書き確認があります。[y]キーを押して設定を上書きします。
証明書ファイルが作成され、指定したディレクトリに配置されました。
証明書の出力ディレクトリを確認します。pfxファイルが配置されていることが確認できます。
このページのキーワード
- Windows Server
- win-acme
- ワイルドカード証明書
- 証明書ファイルの取得
- イントラネット用サーバー証明書
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。