我正在使用一本书来学习.NET认证,而且我对发布者证书的问题感到困惑。
背景:
Windows Vista Home Basic SP2
Visual Studio 2008
.NET 3.5 SP1
目标:
编写一个简单的C#控制台应用程序,该应用程序具有从应用程序证书确定的特定文本文件中读取的权限。
症状:
我能够从文件中读取,尽管将Nothing权限集分配给由应用程序证书限制的代码组。
采取的步骤:
- 写了C#控制台应用程序,它使用StreamReader读取文件并输出到控制台。该应用程序按预期工作。
- 在应用程序的属性上,我使用了Signing选项卡,在“签署ClickOnce清单”复选框上设置,单击“创建测试证书”按钮,然后输入密码。
- 接下来,我点击了More Details按钮,导航到Details选项卡,选择了Public Key行,然后点击Copy to File按钮。
- 在证书导出向导中,我选择不导出私钥,选择DER编码的二进制X.509格式,并提供.CER文件的路径。
- 接下来我重建了应用程序。
- 我打开了.NET Framework 2.0配置工具。
- 我导航到“我的电脑”>运行时安全性>机器>代码组> All_Code
- 右键单击All_Code,然后选择New以开始创建代码组向导。
- 为新代码组命名,然后选择发布者条件类型。
- 单击“从证书文件导入”按钮,然后选择新创建的.CER文件。
- 接下来,我选择了Nothing权限集。
- 运行应用程序时,它现在应该是新代码组的成员,它仍然可以正常工作。我希望如果它是Nothing权限集的成员,它就无法读取文件。
醇>
感谢您提供的任何见解。我可能错过了一个小细节。我想知道这与使用Vista Home Basic有什么关系。