【WP for ITPro】Windows Phone とルート証明書の関係、自己署名証明書のインストール方法

ちょっと面倒な証明書のお話し。

■標準で実装されているルート証明書

Windows Phone に標準で実装されているルート証明書は以下の通りです。

※詳細は SSL Root Certificates for Windows Phone

  • AOL (United States)
  • RSA Security (United States)
  • Comodo (United States)
  • SECOM Trust Systems Co. Ltd (Japan)
  • DigiCert (United States)
  • Taiwan-CA Inc. (Taiwan)
  • Entrust (Canada)
  • TrustCenter (Germany)
  • GlobalSign (United Kingdom)
  • Trustwave (United States)
  • GoDaddy (United States)
  • VeriSign (United States)
  • Keynectis (France)
  • VeriSign Business (United States)
  • QuoVadis (Bermuda)

これ以外の発行者による証明書は、自分自身で Windows Phone デバイスや Windows Phone エミュレーターにインストールする必要があります。自己証明証明書の場合も同様です。

なお、PC の場合には、SSLサイトにアクセス後、ブラウザ等から直接証明書をインストールすることができます。しかし、Windows Phone の場合にはそれができません。もちろん、Active Directory で配布...なんてこともできません。つまり、何らかの配布方法を考慮する必要があります。

ルート証明書を自分自身で Windows Phone にインストールするには、以下の2通りの方法が考えられます。

  • WEBサイトに掲載してブラウザやアプリケーションからダウンロードする
  • 電子メールに添付して電子メールクライアントからダウンロードする

いずれの方法を使用してもよいのですが、特定のアプリケーションが使用する場合には、アプリケーションの中でインストールできるようにしておいたほうが、利用者にとって分かりやすいと思います。インストール忘れによるトラブルも減るでしょう。

■簡単な自己署名証明書の作成方法

※クラウド上のインスタンスなど、任意の主体名を持った自己署名証明書を作成する方法は以下にまとめてあります
【Azure for ITPRO】自己署名証明書を作成する

ちなみに、IIS がインストールされている環境で、自分自身の自己署名証明書を作成するには、IIS の管理コンソールでサーバーを選択し、「サーバー証明書」を開きます。

image

次に、右側のアクションペインから「自己署名入りの証明書の作成」をクリックします。

image

証明書のフレンドリ名を聞かれるので、識別しやすい名前を入力すれば完了です。

image

作成された自己署名証明書は、自動的にサーバーにインストールされます。

■作成した自己署名証明書をエクスポートする

Windows Phone に自己署名証明書をインストールするには、サーバーにインストールされた自己署名証明書をファイルに保存する必要があります。もちろん、WEBに掲載したり、メールに添付するためです。

証明書は以下のいずれかの形式でエクスポートすることができます。

    • .pfx:個人情報交換 (PKCS #12)
    • .p7b:暗号化メッセージ構文標準 (PKCS #7)
    • .cer:DER Encoded Binary X.509
    • .cer:Base64 Encoded X.509

証明書をエクスポートするには、証明書エクスポートウィザード を使用します。

まずは、IIS の管理コンソールの「サーバー証明書」で、エクスポートしたい証明書をダブルクリックして開きます。

image

以下のように証明書が開くので、真ん中の「詳細」タブを開き、「ファイルにコピー」をクリックしてください。

image image

ここで、「秘密キーをエクスポートしない」を選択すると、以下の通り「.p7b」「.cer(DER Encoded Binary X.509)「.cer(Base64 Encoded X.509)」の3種類から選択することができます。

image

一方、「秘密キーをエクスポートする」を選択した場合、以下のように pfx 形式しか選択することができません。

image

いずれの形式でエクスポートするかは用途によって異なりますが、WEBサービスのサーバー証明書として Windows Phone にインストールする場合には .cer または .p7b 形式を選択してください。

■留意点

Windows Phone に自己署名証明書をインストールしようとした場合、電子メール添付とWEBサイトとで、インストールできる証明書の種類が異なります。これが意図的なものであるのかどうかについては現在調査中ですが、とりいそぎ、以下の通りまとめておきます。ご注意ください。

  電子メールに添付 WEBサイトに掲載
個人情報交換 (PKCS #12) .pfx OK image OK image
DER Encoded Binary X.509 .cer OK image NG image
Base64 Encoded X.509 .cer OK image NG image
暗号化メッセージ構文標準 (PKCS #7) .p7b OK image OK image