LoginSignup
2
2

Azure を使った 公的証明書 の購入と発行の手順

Last updated at Posted at 2024-05-26

はじめに

公的証明書を利用するサービスなどを 検証 する事があると思います。
証明書は取っつきにくいですし、利用するには コストが掛かるため、中々手を出せない領域かなぁ・・と思います。

私の方は、約1年前(2023 年 6 月)に、Azure を使って 証明書を初めて発行しましたが、やはり 本物の証明書を扱う事で、学ぶことが多くありました。

この度、もう1枚の証明書を発行する機会があったため、手順と 画面キャプチャを整理しましたので、この記事で紹介したいと思います。

Azure で 公的証明書を発行する場合、"App Service 証明書" というサービスを使います。
名称こそ "App Service 証明書" となっていますが、App Service 以外でも活用することが可能です。

以下の公開情報の手順を元にしています。

公開情報:Web アプリの App Service 証明書を作成して管理する

前提事項

証明書を発行する前に、ドメイン を取得して 外部公開済み である必要があります。
実際に 所持しているドメインに対して、証明書を発行します。

ポイント

  • ドメインを取得済みであること
  • 外部 DNS サーバーで 名前解決を提供していること
  • 上記の DNS サーバーで TXT レコードで任意の文字列を公開可能なこと
  • 上記の DNS サーバーに、ネイキッドドメイン名 を解決できるように A レコードを追加済であること

私の環境の場合は、Azure の App Service ドメイン を使って、"carol226.com" というドメインを取得しており、Azure DNS ゾーン を使って、"sfb" という A レコードを作成して 外部 Web サービスの IP アドレス を指定しました。

nslookup sfb.carol226.com を実行すると、IP アドレスが応答される状態です。

Azure で ドメインを購入し、Azure DNS ゾーンで 外部 DNS を公開する方法については、以下の記事を参考にしてください。

ポイント として記載した条件を満たした ドメイン と DNS であれば、プロバイダーの DNS サービスを利用しても、自社のデータセンターで運用している DNS サーバー でも 理論上問題ないと思います

費用について

App Service は、有料のサービスです。
Azure の 無料サブスクリプション では利用する事ができないため、ご注意ください。
Azure を 有料サブスクリプションにアップグレードしてから、利用が可能になります。

公開情報:App Service の料金
https://azure.microsoft.com/ja-jp/pricing/details/app-service/windows/

Azure App Service の証明書 欄より抜粋(2024 年 5 月 26 日 時点)
image.png

この記事では、標準 SSL 証明書 を発行した時の画面キャプチャを使用しています。

発行される証明書のスペック

ネイキッドドメイン名sfb.carol226.com として指定した場合に作成された 標準 SSL 証明書 の内容です。

フィールド
発行者 Go Daddy Secure Certificate Authority - G2
署名アルゴリズム sha256RSA
署名ハッシュアルゴリズム sha256
有効期間 1年
サブジェクト CN = sfb.carol226.com
公開キー RSA (2048 Bits)
公開キーのパラメーター 05 00
拡張キー使用法 サーバー認証 (1.3.6.1.5.5.7.3.1)
クライアント認証 (1.3.6.1.5.5.7.3.2)
CRL 配布ポイント URL=http://crl.godaddy.com/gdig2s1-20547.crl
サブジェクト代替名 DNS Name=sfb.carol226.com
DNS Name=www.sfb.carol226.com
※ www なし と あり で 2つ作成されます
基本制限 Subject Type=End Entity
Path Length Constraint=None
キー使用法 Digital Signature, Key Encipherment (a0)

全般 タブ
image.png

詳細 タブ
image.png

証明のパス タブ
image.png

皆さんの PC や スマホ にも、出荷時から 以下の ルート証明書 が提供されていると思います。それによって 今回発行した証明書が公的に証明されます。
image.png
※上記の画面は、Windows で Certlm.msc コマンドの実行によって 確認できます。

証明書作成の流れ

証明書の作成は、以下の 4 ステップで行います。

  1. Azure リソース(App Service 証明書)の作成
  2. 証明書の発行
  3. ドメインの所有権を確認する
  4. 証明書のダウンロード

1. Azure リソース(App Service 証明書)の作成

まずは、Azure 上で 証明書 を管理していくための リソース を作成します。
このリソースを使って、証明書を発行したり、更新したり、再発行するなどの管理操作を実施していきます。

公開情報:証明書の購入を開始する
https://learn.microsoft.com/ja-jp/azure/app-service/configure-ssl-app-service-certificate?tabs=portal#start-certificate-purchase

  1. Azure Portal の 検索バーに「証明書」と入力 ① し、App Service 証明書 を選択 ② します。App Service 証明書 のページが開いたら、作成 をクリック ③ します。
    image.png
     
  2. 基本 タブでは、以下の設定を行い 確認および作成 を押します。
    SKU を 選択します(緑枠の箇所)
    キャプチャでは、Standard(標準 SSL 証明書)を選択しています。
    ネイキッドドメインのホスト名 は、実際に 名前解決 で利用したい ドメイン名 を入力します。
    証明書名 は、Azure リソースの名称ですので 任意の名前で構いません。
    自動更新 は、任意で選択してください(私は、永続的に利用する想定で 有効化 しましたが、後で設定変更も可能です)
    image.png
     
  3. 確認および作成 タブでは、内容を確認して 作成 を押します。
    image.png
     
  4. リソースが作成されると。以下の通知が表示されます。
    image.png
     
  5. 作成の完了画面です。リソースに移動 を押します。
    image.png
     
  6. 作成された Azure リソース の画面です。緑下線部が 発行の保留中 になっています。
    image.png

2. 証明書の発行

リソースを作成した段階では 発行の保留中 になっており、まだ 証明書 は発行されていません。続けて、手順1:Key Vault への格納、手順2:ドメインの所有権の確認、手順3:割り当て を行うことで、証明書を利用できるようになります。

公開情報:証明書を Azure Key Vault に格納する
https://learn.microsoft.com/ja-jp/azure/app-service/configure-ssl-app-service-certificate?tabs=portal#store-certificate-in-azure-key-vault

  1. 左ペインから 証明書の構成 を選択し、手順1:格納 の欄をクリックします。
    image.png
     
  2. キーコンテナーから選ぶ をクリックします。
    image.png
     
  3. 以下の画面では、新しく発行した証明書を保管するための Azure KeyVault のコンテナーを選択します。コンテナーを指定したら 選択 を押します。
    既存のコンテナー を選択する(赤枠)か、新しく作成(緑枠)します。
    image.png
     
  4. KeyVault の選択が完了すると、以下の画面になります。
    image.png

3. ドメインの所有権を確認する

ドメインの所有権を確認するまでは、証明書を利用することができません。
公開情報には、以下の4通りの確認方法が紹介されていますが、本記事では ドメイン検証 を採用しています。

  • App Service の確認
  • ドメインの検証
  • メールによる確認
  • 手動による確認

公開情報:ドメインの所有権を確認する
https://learn.microsoft.com/ja-jp/azure/app-service/configure-ssl-app-service-certificate?tabs=portal#confirm-domain-ownership

  1. 再び 証明書の構成 の画面に戻ると、手順1:格納 にチェックが入った状態になります。続けて 手順2:確認 の欄をクリックします。
    image.png
     
  2. 今回は、ドメインの検証 の方法で確認することにします。
    この場合は、ドメイン確認トークン を DNS サーバーに登録する必要があります。
    image.png
    下図は、Azure DNS ゾーン 上に TXT レコードを追加した際の画面です。
    TXT レコードは、1つの @ の行に 複数のレコードを追加する事ができます。
    別の目的で登録済みの TXT レコード と共存させられます。
    赤枠の部分が 今回追加した ドメイン確認トークン です。
    image.png
     
  3. DNS 側で、TXT レコードが構成できたら 確認 を押します。右上のような 通知が表示されれば OK です。
    image.png
     
  4. うまく TXT レコードの確認が完了すると、下図のように 証明書はドメイン確認済みです という表示になります。
    image.png
     
  5. 証明書の構成 の画面に戻ると、以下のように 3か所すべてに チェック が入った状態になっています。
    image.png
     
  6. 概要 ページを表示すると 証明書の状態発行済み になっている事が判ります。
    image.png

4. 証明書のダウンロード

発行した証明書は、KeyVault の中に保存されていますが、以下から ダウンロードできます。

公開情報;App Service 証明書をエクスポートする
https://learn.microsoft.com/ja-jp/azure/app-service/configure-ssl-app-service-certificate?tabs=portal#export-an-app-service-certificate

  1. 左ペイン 設定証明書のエクスポート から Key Vault シークレットを開く をクリックします。
    image.png
     
  2. 以下の箇所をクリックします。
    image.png
     
  3. 証明書としてダウンロード を押します。
    image.png

以上で、証明書の作成と発行は完了です。
この証明書は 任意のサービス で サーバー証明書 として利用が可能です。

次章では、例 として IIS の Web サイト にバインドして利用した 例 を紹介しています。

(おまけ) 作成した証明書を IIS にバインドしてみる

以降は、ダウンロードした証明書を IIS にバインドして公開してみた例です。
App Service 証明書 を IIS の Webサイトで公開することも可能・・・ということをご理解いただけると思います。

この手順は、先に IIS を構築して、HTTP で Web サイトが公開された状態になっていることを前提にしています。

証明書のインポート

  1. Web サーバー (IIS) へダウンロードします。
    image.png
     
  2. ローカルコンピューター に保存します。
    image.png
     
  3. ダウンロードしたファイルを選択して 次へ を押します。
    image.png
     
  4. 特に何も指定せずに 次へ を押します。
    image.png
     
  5. 特に何も指定せずに 次へ を押します。
    image.png
     
  6. 以下の画面になったら、完了 を押して終了します。
    image.png

証明書を Web サイト にバインドする

  1. インターネットインフォメーションサービス マネージャー を起動します。
    以下の画面で 公開したい Web サイト(Default Web Site)を選び、右ペインの バインド を押します。
    image.png
     
  2. 追加 を押します。
    image.png
     
  3. 以下のように HTTPS のサイト条件を追加して、SSL 証明書 欄で 先ほどインポートした証明書を選択してから、OK を押します。
    証明書が選択出来ない場合は、証明書の作成やインポートで 何かミスがあります。
    image.png
     
  4. 以下のように HTTPS のサイトが追加されたことを確認して 閉じる を押します。
    image.png
     
  5. すると、以下のように 世界中の任意の PC から、URL を指定して HTTPS の Web サイトを参照できるようになっています。証明書も セキュリティで保護された状態であることを確認できます。
    image.png

以上のように Azure の App Service 証明書 を発行して、Azure 以外のサービスで利用できることをご理解いただけたと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2