以下、WindowsストアアプリにおいてTLS/SSL自己証明書をインストールする方法について説明する。
1. 証明書を準備する
Windowsストアアプリでは通信接続先のサーバホスト名と証明書のCommon Nameが一致しているかチェックされるため、
前回の内容を参考に、Common NameについてFQDNまたはIPアドレスを正確に指定して自己署名証明書を作成する。
今回はserver-crt-192p168p1p101.pem(サーバIPアドレスが192.168.1.101)とserver-crt-192p168p1p102.pem(サーバIPアドレスが192.168.1.102)の2つのファイルを作成済みと仮定して進めていく。
今回はserver-crt-192p168p1p101.pem(サーバIPアドレスが192.168.1.101)とserver-crt-192p168p1p102.pem(サーバIPアドレスが192.168.1.102)の2つのファイルを作成済みと仮定して進めていく。
2. アプリに証明書を配置する
準備した証明書ファイルをドラッグ&ドロップによりWindowsストアプリの適当な場所に配置する(下記例ではAssetディレクトリ以下に証明書ファイルを配置)。
各証明書ファイルのプロパティについて下記の通り設定する。
- ビルドアクション: コンテンツ
- 出力ディレクトリにコピー: 常にコピーする
3. マニフェスト宣言を行う
- サポートされる宣言について証明書を選択する。
- 各証明書について、ストア名にはRoot、コンテンツには該当証明書ファイル場所を入力する。
- 複数の証明書をアプリ側(アプリコンテナ)から自動選択させる場合は、自動選択にチェックを入れる。
Package.appxmanifestファイルに直接XML形式で記述する際は、Extensionsタグ内に記述する。
</Capabilities> <Extensions> <!-- Certificates Extension START --> <Extension Category="windows.certificates"> <Certificates> <Certificate StoreName="Root" Content="Assets\server-crt-192p168p1p101.pem" /> <Certificate StoreName="Root" Content="Assets\server-crt-192p168p1p102.pem" /> <SelectionCriteria AutoSelect="true" /> </Certificates> </Extension> <!-- Certificates Extension END --> </Extensions> </Package>
[参考URL]
How to connect to a Http Rest Service with Self Signed Certificate(in the server side).
0 件のコメント:
コメントを投稿