ちょっと面倒な証明書のお話し。
■標準で実装されているルート証明書
Windows Phone に標準で実装されているルート証明書は以下の通りです。
※詳細は SSL Root Certificates for Windows Phone
これ以外の発行者による証明書は、自分自身で Windows Phone デバイスや Windows Phone エミュレーターにインストールする必要があります。自己証明証明書の場合も同様です。
なお、PC の場合には、SSLサイトにアクセス後、ブラウザ等から直接証明書をインストールすることができます。しかし、Windows Phone の場合にはそれができません。もちろん、Active Directory で配布...なんてこともできません。つまり、何らかの配布方法を考慮する必要があります。
ルート証明書を自分自身で Windows Phone にインストールするには、以下の2通りの方法が考えられます。
いずれの方法を使用してもよいのですが、特定のアプリケーションが使用する場合には、アプリケーションの中でインストールできるようにしておいたほうが、利用者にとって分かりやすいと思います。インストール忘れによるトラブルも減るでしょう。
■簡単な自己署名証明書の作成方法
※クラウド上のインスタンスなど、任意の主体名を持った自己署名証明書を作成する方法は以下にまとめてあります 【Azure for ITPRO】自己署名証明書を作成する
ちなみに、IIS がインストールされている環境で、自分自身の自己署名証明書を作成するには、IIS の管理コンソールでサーバーを選択し、「サーバー証明書」を開きます。
次に、右側のアクションペインから「���己署名入りの証明書の作成」をクリックします。
証明書のフレンドリ名を聞かれるので、識別しやすい名前を入力すれば完了です。
作成された自己署名証明書は、自動的にサーバーにインストールされます。
■作成した自己署名証明書をエクスポートする
Windows Phone に自己署名証明書をインストールするには、サーバーにインストールされた自己署名証明書をファイルに保存する必要があります。もちろん、WEBに掲載したり、メールに添付するためです。
証明書は以下のいずれかの形式でエクスポートすることができます。
証明書をエクスポートするには、証明書エクスポートウィザード を使用します。
まずは、IIS の管理コンソールの「サーバー証明書」で、エクスポートしたい証明書をダブルクリックして開きます。
以下のように証明書が開くので、真ん中の「詳細」タブを開き、「ファイルにコピー」をクリックしてください。
ここで、「秘密キーをエクスポートしない」を選択すると、以下の通り「.p7b」「.cer(DER Encoded Binary X.509)「.cer(Base64 Encoded X.509)」の3種類から選択することができます。
一方、「秘密キーをエクスポートする」を選択した場合、以下のように pfx 形式しか選択することができません。
いずれの形式でエクスポートするかは用途によって異なりますが、WEBサービスのサーバー証明書として Windows Phone にインストールする場合には .cer または .p7b 形式を選択してください。
■留意点
Windows Phone に自己署名証明書をインストールしようとした場合、電子メール添付とWEBサイトとで、インストールできる証明書の種類が異なります。これが意図的なものであるのかどうかについては現在調査中ですが、とりいそぎ、以下の通りまとめておきます。ご注意ください。