【发布时间】:2010-11-24 16:47:33
【问题描述】:
我正在使用一本书来学习 .NET 认证,但我对出版商证书的问题感到困惑。
背景:
Windows Vista Home Basic SP2 视觉工作室 2008 .NET 3.5 SP1
目标:
编写一个简单的 C# 控制台应用程序,该应用程序有权读取由应用程序证书确定的特定文本文件。
症状:
尽管将 Nothing 权限集分配给受应用程序证书限制的代码组,我仍然能够从文件中读取。
采取的步骤:
- 编写了使用 StreamReader 读取文件并输出到控制台的 C# 控制台应用程序。该应用程序按预期运行。
- 在应用程序的属性中,我使用了“签名”选项卡,将“为 ClickOnce 清单签名”复选框设置为 ON,单击“创建测试证书”按钮,然后输入密码。
- 接下来,我单击“更多详细信息”按钮,导航到“详细信息”选项卡,选择“公钥”行,然后单击“复制到文件”按钮。
- 在证书导出向导中,我选择不导出私钥,选择DER编码的二进制X.509格式,并提供了.CER文件的路径。
- 接下来我重建了应用程序。
- 我打开了 .NET Framework 2.0 配置工具。
- 我导航到我的电脑 > 运行时安全 > 机器 > 代码组 > All_Code
- 右键单击 All_Code,然后选择新建以开始创建代码组向导。
- 为新代码组命名,然后选择发布者条件类型。
- 单击“从证书文件导入”按钮,然后选择新创建的 .CER 文件。
- 接下来我选择了 Nothing 权限集。
- 运行应用程序时,它现在应该是新代码组的成员,它仍然可以正常工作。我希望如果它是 Nothing 权限集的成员,它就无法读取该文件。
感谢您提供的任何见解。我可能遗漏了一个小细节。我想知道这是否与使用 Vista Home Basic 有关。
【问题讨论】:
标签: c# .net certificate permissionset