信頼されたアプリケーションの管理
信頼されたアプリケーションをインストールする場合、配布するXAPファイルが未署名のままだと図9のようなダイアログが表示されます。
限られた範囲の公開であれば、このままでも問題ないかもしませんが、認証機関から証明書を取得しXAPファイルに署名を行うことで、図10のようなダイアログを表示できます。
今回は、テスト証明書を作成してXAPファイルに署名を行いますが、通常運用時には信頼できる認証機関から取得した証明書を利用して、XAPファイルに署名を行ってください。XAPファイルに証明書をインストールするには、signtoolユーティリティを利用するか、Visual Studioの署名タブ(図11)で証明書をXAPに割り当てます。
テスト証明書を作成する場合は、図11で[テスト証明書の作成]ボタンをクリックしてXAPにテスト証明書を設定します。テスト証明書を利用する場合は、Silverlightアプリケーションの実行前に、作成した証明書を信頼されたルート証明書としてコンピュータにインストールしておく必要があります。詳しくは『信頼されたルート証明書を管理する』を確認してください。
信頼されたアプリケーションによるオートメーションオブジェクトの実行は、それまでのSilverlightがあくまでブラウザのサンドボックス内で動作していたものに対し、本当の意味でブラウザの外にまで進出したことを意味します。
信頼されたアプリケーションをインストールすると、オートメーションオブジェクトを通じて、様々なユーザー情報やローカル資源にアクセス可能です。
しかし、セキュリティ上はそれほど大きな問題ではありません。信頼されたアプリケーションであろうと、Silverlightで行えることは、あくまで実行するユーザーの権限の範囲内でしかありませんし、ユーザーがWebからアプリケーションをインストールする場合は、必ずインストールしてよいかをユーザーに確認するダイアログが表示されます。これは、通常のデスクトップアプリケーションと同じ考え方です。
企業の管理者は、グループポリシーを適用することで、ユーザーひとりひとりが勝手にSilverlightのプログラムをインストールしてしまうことを防ぐことができます。詳細は『グループポリシーによる管理』を確認して下さい。
Silverlight 5におけるブラウザ外実行
2010年のSilverlightのイベントで、マイクロソフトの副社長であるスコットガスリーからSilverlight 5に関するアナウンスが行われました。昨日開催されたMIX11 では、Silverlight 5 Betaが公開され、すでに日本語版のSilverlight 5 Beta Toolsがダウンロード可能です。
MIX11では、Silverlight 5関連のセッションが設けられており、次のURLから視聴が可能です。また、こちらも英語ですが、Silverlight 5 Betaのドキュメントも公開されています。
- MIX 11 Day2 KeyNote
- Advanced Features in Silverlight 5
- Silverlight 5 Beta Technical Features
- Silverlight 5 Beta
ここでは、氏のブログ(日本語訳 Silverlight 5の告知)をもとに、ブラウザ外実行の新機能を簡単に確認してみましょう。
Silverlight 5で加わる、ブラウザ外実行の大きな変更は次の2点です。
- プラットフォーム呼び出しのサポート
- 小ウインドウのサポート
プラットフォーム呼び出しのサポート
Silverlight 5では、信頼されたアプリケーション下でのプラットフォーム呼び出しがサポートされます。プラットフォーム呼び出しは、P/Invokeとも呼ばれる機能で、ネイティブのC言語やC++言語で書かれた機能を、ほかの環境から呼び出すための構造です。
Silverlight 4でも、CLR側でP/InvokeしたメソッドをオートメーションオブジェクトとしてSilverlightに公開することで、Silverlightから間接的にP/Invokeを実現できますが、Silverlight 5ではSilverlightから直接P/Invokeが行えるようになります。
小ウインドウのサポート
Silverlightで画面遷移を考える場合、一般的なHTMLのページと同じように、一つのウインドウを利用してページの切り替えを行います。Silverlight 5では、小ウインドウをサポートすることでWPFやWindowsFormと同じようなマルチウインドウの画面遷移が可能になります。
まとめ
3回を通して、Silverlight 4で強化されたブラウザ外実行についてみてきました。よりパワフルになった、Silverlightの力を感じていただけたのではないでしょうか。
さて、Silverlight 3に引き続き、Silverlight 4の連載も当初の予定を大幅に超過して、今回で第10回になってしまいました。今回で、Silverlight 4の連載はとりあえず終了です。お付き合いありがとうございました。