企業認証・EV 認証の SSL サーバー証明書を Azure Web App に設定する
企業認証・EV 認証の SSL/TLS サーバー証明書 (以降サーバー証明書)を、会社独自で用意して設定するというシナリオは、企業の実在性の証明という理由により、中堅企業以上からは避けて通れない道です。ただ、一般的にサーバー証明書をウェブサーバーに設定するという作業に関しては技術的困難を伴います。
しかし、Azure Web App を使うと、ウェブサーバーへの設定は「比較的」簡単に行うことができます(比較的、としたのは、サーバーに設定する以外の部分で難しい部分が多いので・・・)
こちらの記事では、例としてサイバートラスト社のサーバー証明書のブランドのひとつ、DigiCert SSL/TLS サーバー証明書を、Azure Web App に設定して、ウェブサイトを HTTPS 通信にするところまでを解説いたします。
サイバートラスト DigiCert SSL/TLS サーバー証明書証明書の申請の部分を掲載しているため、あえてサイバートラストの証明書と限定させていただいておりますが、CSR の作成だったり、Azure Web App に適用する部分は他の証明書でも共通ですので、そちらはご参考にしていただけるかと思います。
CSR の準備
サーバー証明書を発行するには、何はともあれ、この CSR と呼ばれるテキストが必要となります。
米国 DigiCert というアメリカの証明書ベンダーのサイトより、DigiCert Certificate Utility for Windows という便利ツールが提供されているので、そちらを使って CSR を準備します。
米国 DigiCert Certificate Utility for WindowsDigiCert Certificate Utility for Windows のウェブページへ行き、FREE DOWNLOAD のボタンをクリックすると、DigiCertUtil.zip というファイルがダウンロードされます。
こちらの DigiCertUtil.zip を適当なフォルダに展開します。そして展開されたフォルダを開き、DigiCertUtil.exe を起動します。
まず LICENSE AGREEMENT が表示されますので、[I Accept] ボタンを押します。
すると下記の画面が表示されます。
下図のように、左メニューより「SSL」を選択し、その後右上の「+Create CSR」をクリックします。
すると以下の画面になりますので、ここに CSR を作成するために必要な情報を入力していきます。
情報は以下を参考に、必要な情報を記入の上、最後「Generate」ボタンを押してください。
環境によってはここで Windows の確認ダイアログが表示される場合もありますが、こちらも「はい」を押して続行します。
すると次の画面で生成された CSR が表示されます。
後で使うので、[Save to File]でファイルに保存しておいてください。
また、この「DigiCert Certification Utility」は再度利用するので、削除せずに保存しておいてください。
サーバー証明書の発行申請
この段落の作業はサイバートラストの管理画面にて行います。サイバートラストの DigiCert 証明書お申込み画面に行き、左側の「SSL/TLS サーバー証明書 お申込み」を押します。
するとサイバートラスト DigiCert 証明書発行管理サイトのログイン画面になります。
利用登録が初めての人は、右側の「ご利用登録」ボタンを押し、次ページでユーザー登録を行ってください。
ユーザー登録のある方はログインを行います。
下図がログイン後の画面です。新規で証明書を発行するので、ここで「新規申請」をクリックします。
どの証明書を申請するかの選択画面になります。
サイバートラストの DigiCert 証明書は EV でも OV でも同じ値段なので、可能であれば EV を選択したいところですが、今回は簡便に済ませるということで、右側の企業認証型を申請します。右上の SSL Plus にチェックを入れ、[次へ]ボタンを押します。
次に証明書の有効期間を選びます。1年にすると、毎年このページの作業を行わなければならないため、可能であれば 2 年にしておくことを推奨します。
年数の横にある「申請」ボタンを押して、次に進みます。
希望有効期間満了日を聞かれますが、何も設定せずに「次へ」を押します。
そして証明書申請で一番面倒くさい場所、申請情報の入力画面です。
企業に対して発行する証明書という扱いになりますので、申請に際しては会社法人等番号が必要になります。また、企業情報を第三者機関から評価するため、帝国データバンクの番号なども必要になります。
また、実在確認なども行うため承認者の情報も必要になります。証明書は面倒くさいのです。
必要な情報を入力したら「次へ」を押します。
次は請求書情報を入力する画面ですが、同じの場合が大半だと思うのでここではスキップします。次へを押します。
次に CSR 入力画面になります。ここでようやくステップ 1 で作成した CSR を利用します。
「CSR を貼り付けてください」の箇所に、ステップ 1 で生成した CSR の中身を — BEGIN NEW CERTIFICATE — などの行ごと丸っとコピペします。
ペースト後、右側の「CSR 解析」ボタンを押すと、CSR に入力した情報が下の情報欄に展開されます。
ここで、証明書に表示される情報が日本語がよい場合は、〇日 を選択することで日本語を選択することができます。
もろもろ入力したら「次へ」を押します。
最後に確認画面が表示されますので、ここで記載内容を確認し、問題ないようであれば、ページ最下部の「加入契約書の同意」にチェックを入れて、「登録」ボタンを押して完了させます。
この後、証明書なので審査が入ります。ドメイン名使用権の審査に関しては、ドメイン申請時に登録してあるメールアドレスなどの情報を利用するので、ドメイン情報を公開しない、などの設定になっている人は永久に審査が終わりません。ですので、この作業の前にメールが受け取れる情報に更新しておく必要があります。
詳細は下記リンク先をご確認ください。
PFX ファイルの作成
上記で無事サーバー証明書が発行され、証明書ファイルがダウンロードできたとします。Azure の WebApps に証明書を組み込むには PFX というファイル形式に変更しなければなりません。ステップ 1 の DigiCert Certificate Utility を使い PFX ファイルを作成します。
PFX 形式の証明書作成にあたり、「中間 CA 証明書」というものが必要になります。証明書を発行したサイバートラスト社のウェブサイトより中間 CA 証明書をダウンロードします。中間証明書は企業認証(OV)向けと EV 認証向けでファイルが異なるので注意してください。
DigiCert 用 企業認証向け中間 CA 証明書ダウンロードのページPFX 形式の証明書を作成すにあたり、ダウンロードした中間 CA 証明書と、発行された証明書を結合するのですが、結合に際し、中間 CA 証明書を自身の PC にインストールする必要があります。
上記でダウンロードした中間 CA 証明書のファイルは DC_OVCA.txt というファイル名だと思いますが、ダウンロードした DC_OVCA.txt のファイル名(拡張子)を変更し、DC_OVCA.CER とします。
そして拡張子を変更した DC_OVCA.CER をダブルクリックすると警告表示の後に、下図のような画面が表示されると思いますので、画面下、「証明書のインストール」ボタンを押して、インストールを開始します。
「証明書のインストール」ボタンを押すと、「証明書のインポート ウィザード」が開始されます。
最初の画面では保存場所に「ローカルコンピューター」を選択してください。
次の画面では「証明書ストア」を選択します。
「証明書をすべて次のストアに配置する」にチェックを入れ、参照ボタンを押し、ストアの選択ダイアログで「中間証明機関」を選択します。
完了画面で「完了」ボタンを押すと、中間 CA 証明書が適切な形で PC にインストールされます。
インストールが完了するとダイアログが表示されます。
中間 CA 証明書がインストールされたところで、発行された証明書を DigiCert Certification Utility にインポートします。ツールを起動し、「SSL」-「Import」をクリックします。
こちらには [Browse] を押し、発行された証明書へのパスを指定します。
最後にインポートした証明書の管理を簡便にするため、覚えやすい「フレンドリーネーム」というものを記入します。
多くは、発行したドメイン+発行日付などでネーミングしている場合が多いようです。
そして完了を押すと、ツールへの証明書インポートが完了します。
インポートが完了すると、ツールにインポートした証明書が表示されます。インポートした証明書のエントリーをクリックし、下に表示される「Export Certificate」ボタンをクリックします。
Windows の確認ダイアログに続き、エクスポートの確認画面になります。こちらはデフォルトの値のままで PFX が書き出せる設定になっているので、下図のまま、「次へ」をクリックします。
次の画面で、PFX に設定するパスワードを入力します。
最後に、ファイルの出力場所を指定します。出力場所を指定したら「完了」ボタンを押すと、PFX ファイルの生成が完了します。
Azure Web App への設定
PFX 形式の証明書ファイルが生成できたところで、Azure Web App に証明書を設定します。
まず、証明書を設定する App Service のブレードを開き、「SSL 設定」の項目をクリックし、表示されたタブより「プライベート証明書 (.pfx) 」をクリックします。
「プライベート証明書」のページにて、「証明書のアップロード」をクリックします。
アップロードするファイルの指定とパスワードの入力画面になりますので、先ほど保存したファイルとパスワードを指定します。
アップロードが完了すると右上にダイアログが表示されます。
実はこのままだと SSL 証明書が Azure 環境にアップロードされただけで、Web App への組み込みは完了してません。
この後「バインド」という処理を行います。
同じ「SSL 設定」内の「バインド」タブの下部に「SSL バインド」という項目がありますので、そこで「+
SSL バインディングの追加」をクリックします。
設定画面が表示されますので、「ホスト名」には設定しようとしているドメイン名を選択、「プライベート証明書の拇印」では、先ほどアップロードしたサーバー証明書を選択します。SSL の種類は、SNI SSL を選択します。
以上を設定したら、「バインディングの追加」ボタンを押します。
以上で、サーバー証明書が独自ドメインの Web App に対して適用されます。
接続検証中、ブラウザのキャッシュなどが影響する場合もあり、かつ第三者環境からも確認をするためにも、SSL Labs の SSL Server Test などで検証をすることをお勧めします。