証明書をサービスに関連付ける方法
更新日: 2011年3月
次の図は、Windows Azure にデプロイされるサービスに証明書を関連付けるプロセスを示します。
-
IT 管理者は、証明書のサムプリントとサムプリント アルゴリズムをサービス開発者に提供します。 サムプリントは証明書を識別しますが、機密情報ではありません。 サムプリント アルゴリズムは、アルゴリズムの生成に使用されるアルゴリズムを指定します。
メモ現在サポートされているサムプリント アルゴリズムは、sha1 のみです。 証明書でサポートされているサムプリント アルゴリズムが不明な場合は、Microsoft 管理コンソール (MMC: Microsoft Management Console) で certmgr.msc スナップインを使用して証明書を検査できます。 MMC を使用してサムプリント アルゴリズムを表示する方法の詳細については、後の「証明書のサムプリント アルゴリズムを表示するには」の手順を参照してください。 -
サービス開発者が、サービス定義ファイル内の特定のロールに証明書を関連付けます。 サービス定義ファイルの証明書エントリでは、証明書の名前を指定します。この名前を使用して、サービス構成ファイルで指定される証明書のサムプリントに証明書を関連付けることができます。 証明書が SSL で使用される場合は、この証明書名を HTTPS エンドポイントと関連付けることもできます。 この名前は、サービス開発者が自由に設定できます。
サービス定義ファイルのエントリでは、この証明書がコピーされる Windows Azure VM の保存場所およびストア名も指定します。 保存場所は、Current User または Local Machine を指定できます。 ストア名は、組み込みのストア名、またはサービス開発者が提供するカスタム ストア名にすることができます。 組み込みストア名には、My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、および AddressBook があります。 ストア名がカスタム名である場合は、指定された名前で、Windows Azure により新しいストアが作成されます。 サービス定義に証明書を追加する方法については、「Windows Azure サービスの定義スキーマ」の「Certificate Element」を参照してください。
警告信頼できるルート ストアへのインストールは制限されており、証明書を信頼できるルート ストアに保存することは推奨されないため、既定でブロックされます。 信頼できるルート ストアに証明書を保存する必要がある場合、昇格されたスタートアップ タスクを使用して証明書を他の場所から信頼できるルート ストアに移動できます。 スタートアップ タスクの詳細については、「ロールのスタートアップ タスクの定義方法」を参照してください。 次のサンプル サービス定義ファイルでは、3 つの証明書、その保存場所と名前の一覧を示しています。 SSL という名前の証明書は、HTTPS エンドポイントの定義でも名前で参照されます。
<?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="WCFServiceWebRole2"> <Endpoints> <InputEndpoint name="HttpIn" protocol="http" port="80" /> <InputEndpoint name="Https" protocol="https" port="443" certificate="SSL" /> </Endpoints> <Imports> <Import moduleName="Diagnostics" /> </Imports> <Certificates> <Certificate name="SSL" storeLocation="LocalMachine" storeName="My" /> <Certificate name="MSSecAuth" storeLocation="LocalMachine" storeName="CA" /> <Certificate name="MSInternetAuth" storeLocation="LocalMachine" storeName="CA" /> </Certificates> <LocalResources> <LocalStorage name="Logs" cleanOnRoleRecycle="false" sizeInMB="100"/> </LocalResources> </WebRole> </ServiceDefinition> -
サービス開発者は、サービス定義ファイルに指定した名前と同じ名前を使用して、証明書のエントリをサービス構成ファイルに追加します。 このエントリにより、証明書のサムプリントとサムプリント アルゴリズムも指定されます。 Windows Azure は、サムプリントを使用して、ホステッド サービスの証明書ストア内の証明書を特定し、ロールのインスタンスを実行する仮想マシンにその証明書をデプロイします。 サービス構成ファイル内で証明書を指定する方法については、「WebRole スキーマ」または「WorkerRole スキーマ」の「Certificate Element」を参照してください。
-
サービス開発者は、Windows Azure にサービス パッケージとサービス構成ファイルをアップロードして、サービスをデプロイします。
-
[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、「certmgr.msc」と入力して [OK] をクリックします。
-
MMC では、[証明書 - 現在のユーザー] を展開し、証明書が格納されている証明書ストアを展開して [証明書] をクリックします。
-
右ウィンドウで証明書を右クリックし、[開く] をクリックします。
-
[詳細] をクリックし、サムプリント アルゴリズム フィールドが見つかるまで詳細リストを下へスクロールします。