私は.NET認定の勉強のために本を使用していますが、出版社の証明書の問題に困惑しています。
バックグラウンド:
Windows Vista Home Basic SP2 Visual Studio 2008 .NET 3.5 SP1
ゴール:
アプリケーションの証明書によって決定された特定のテキストファイルから読み取る権限を持つ単純なC#コンソールアプリケーションを作成します。
症状:
アプリケーションの証明書によって条件付けられたコードグループにNothingパーミッションセットを割り当てても、ファイルから読み取ることができます。
実行した手順:
- StreamReaderを使用してファイルを読み取り、コンソールに出力するC#コンソールアプリケーションを作成しました。アプリケーションは期待どおりに機能します。
- アプリケーションのプロパティで、[署名]タブを使用し、[ClickOnceマニフェストに署名する]チェックボックスをオンにして、[テスト証明書の作成]ボタンをクリックし、パスワードを入力しました。
- 次に、[詳細]ボタンをクリックし、[詳細]タブに移動して、[公開鍵]行を選択し、[ファイルにコピー]ボタンをクリックしました。
- 証明書のエクスポートウィザードで、秘密鍵をエクスポートしないことを選択し、DERでエンコードされたバイナリX.509形式を選択し、.CERファイルのパスを指定しました。
- 次に、アプリケーションを再構築しました。
- .NETFramework2.0構成ツールを開きました。
- [マイコンピュータ]>[ランタイムセキュリティ]>[マシン]>[コードグループ]>[All_Code]に移動しました
- All_Codeを右クリックし、[新規]を選択して、コードグループの作成ウィザードを開始します。
- 新しいコードグループに名前を付けてから、パブリッシャー条件タイプを選択します。
- [証明書ファイルからインポート]ボタンをクリックして、新しく作成した.CERファイルを選択しました。
- 次に、Nothingパーミッションセットを選択しました。
- 新しいコードグループのメンバーになっているはずのアプリケーションを実行しても、同じように機能します。Nothingパーミッションセットのメンバーである場合、ファイルを読み取ることができなかったと思います。
あなたが提供できる洞察に感謝します。私はおそらく1つの小さな詳細が欠けています。これはVistaHomeBasicの使用と関係があるのでしょうか。