2009-09-01 10 views
0

私は.NET認定資格のために勉強する本を使用しています。私は発行者証明書の問題について困惑しています。.NET Publisher証明書

背景:

Windows VistaのHome BasicをSP2 のVisual Studio 2008の .NET 3.5 SP1

目標:

は、特定のテキストから読み込むための権限を持っているシンプルなC#コンソールアプリケーションを書きますアプリケーションの証明書によって決定されるファイル。

症状:

私は、アプリケーションの証明書によって調整されたコードグループに設定され何も権限を割り当てるにもかかわらず、ファイルから読み取ることができています。撮影した

ステップ:

  1. は、コンソールへのファイル出力を読み取るためのStreamReaderを使用してC#のコンソールアプリケーションを書きました。アプリケーションは期待どおりに動作します。
  2. アプリケーションのプロパティでは、[署名]タブを使用し、[ClickOnceマニフェストに署名する]チェックボックスをオンにし、[証明書の作成]ボタンをクリックし、パスワードを入力しました。
  3. 次に、[詳細]ボタンをクリックし、[詳細]タブに移動し、[公開キー]行を選択して[ファイルにコピー]ボタンをクリックしました。
  4. 証明書のエクスポートウィザードで、私は秘密鍵をエクスポートせず、DERでエンコードされたバイナリX.509形式を選択し、.CERファイルのパスを指定しました。
  5. 次はアプリケーションを再構築しました。
  6. .NET Framework 2.0 Configurationツールを開いた。
  7. [マイコンピュータ]> [ランタイムセキュリティ]> [マシン]> [コードグループ]> [All_Code]
  8. [All_Code]を右クリックし、[新規]を選択してコードグループの作成ウィザードを開始します。
  9. 新しいコードグループに名前を付け、Publisher条件タイプを選択します。
  10. [証明書ファイルからインポート]ボタンをクリックし、新しく作成した.CERファイルを選択しました。
  11. 次へNothingアクセス許可セットを選択しました。
  12. 新しいコードグループのメンバーになるはずのアプリケーションを実行しても、それは同じように機能します。私はそれがファイルを読み取ることができないことをNothingの許可の設定のメンバーであると思います。

ご迷惑をおかけして申し訳ありません。私はおそらく少し細部を欠いているでしょう。私はこれがVista Home Basicの使用と何か関係があるのだろうかと思います。

答えて

0

アプリケーションは、証明書なしで問題のファイルを読み取ることができますか?

既存のアクセス許可のセットに何も追加しても、あまり変更されません。

+0

Henk、ステップ1では、証明書なしでプログラムを作成して実行していました。私は後でそれを追加しませんでした。 実行可能ファイルが新しいグループのメンバーであると判明した場合、Nothingは実行ファイルを実行しないようにしていたので、.NETがそのファイルをメンバーとして含めるかどうかを確認するテストでした。私は理解の基盤を離れていませんか? .NETが実行可能ファイルを新しいグループのメンバとして含めるかどうかをテストするために使用する既存のより良いアクセス許可がありますか。私は自分の作成した新しいアクセス許可セットにそれを指す前にインクルードが動作していることを確認したいと思います。 ありがとう! –

+0

あなたは何も理解していませんが、「一致する証拠」プロセスは相加的です。Nothingグループを通常の権利に追加しています。調査するには、証明書なしでアプリケーションが実行できないフォルダを作成してから、グループに権限を追加する必要があります。 –

+0

私は最終的に私が知る必要があったことを説明するページを見つけました。私の問題は証明書の作成にありました。元の質問に示されているように、私が試みていたことはすべて、Visual Studioのアプリケーションのプロパティページの署名タブにありました。ここでテスト証明書を作成するだけでは、その証明書をパブリッシャ条件として動作させることはできません。手短に言えば、手順はMakeCert、Cert2spc、SignTool、およびCertMgrでした。その後、私は手順6に進みました。 http://www.c-sharpcorner.com/UploadFile/ankithakur/PublishersBasedSecurity12012006061621AM/PublishersBasedSecurity.aspx –