.NET Publisher证书

时间:2009-09-01 16:02:11

标签: c# .net certificate permissionset

我正在使用一本书来学习.NET认证,而且我对发布者证书的问题感到困惑。

背景:

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

目标:

编写一个简单的C#控制台应用程序,该应用程序具有从应用程序证书确定的特定文本文件中读取的权限。

症状:

我能够从文件中读取,尽管将Nothing权限集分配给由应用程序证书限制的代码组。

采取的步骤:

  1. 写了C#控制台应用程序,它使用StreamReader读取文件并输出到控制台。该应用程序按预期工作。
  2. 在应用程序的属性上,我使用了Signing选项卡,在“签署ClickOnce清单”复选框上设置,单击“创建测试证书”按钮,然后输入密码。
  3. 接下来,我点击了More Details按钮,导航到Details选项卡,选择了Public Key行,然后点击Copy to File按钮。
  4. 在证书导出向导中,我选择不导出私钥,选择DER编码的二进制X.509格式,并提供.CER文件的路径。
  5. 接下来我重建了应用程序。
  6. 我打开了.NET Framework 2.0配置工具。
  7. 我导航到“我的电脑”>运行时安全性>机器>代码组> All_Code
  8. 右键单击All_Code,然后选择New以开始创建代码组向导。
  9. 为新代码组命名,然后选择发布者条件类型。
  10. 单击“从证书文件导入”按钮,然后选择新创建的.CER文件。
  11. 接下来,我选择了Nothing权限集。
  12. 运行应用程序时,它现在应该是新代码组的成员,它仍然可以正常工作。我希望如果它是Nothing权限集的成员,它就无法读取文件。
  13. 感谢您提供的任何见解。我可能错过了一个小细节。我想知道这与使用Vista Home Basic有什么关系。

1 个答案:

答案 0 :(得分:0)

您的应用程序可以在没有任何证书的情况下阅读有问题的文件吗?

为一组现有权限添加Nothing不会有太大变化。