0

我正在使用一本书来学习 .NET 认证,但我对出版商证书的问题感到困惑。

背景:

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

目标:

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

症状:

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

采取的步骤:

  1. 编写了使用 StreamReader 读取文件并输出到控制台的 C# 控制台应用程序。该应用程序按预期工作。
  2. 在应用程序的属性中,我使用了“签名”选项卡,将“签署 ClickOnce 清单”复选框设置为 ON,单击“创建测试证书”按钮,然后输入密码。
  3. 接下来,我单击“更多详细信息”按钮,导航到“详细信息”选项卡,选择“公钥”行,然后单击“复制到文件”按钮。
  4. 在证书导出向导中,我选择不导出私钥,选择 DER 编码的二进制 X.509 格式,并提供 .CER 文件的路径。
  5. 接下来我重建了应用程序。
  6. 我打开了 .NET Framework 2.0 配置工具。
  7. 我导航到我的电脑 > 运行时安全 > 机器 > 代码组 > All_Code
  8. 右键单击 All_Code,然后选择 New 以启动 Create Code Group 向导。
  9. 为新代码组命名,然后选择发布者条件类型。
  10. 单击从证书文件导入按钮,然后选择新创建的 .CER 文件。
  11. 接下来,我选择了 Nothing 权限集。
  12. 当运行应用程序时,它现在应该是新代码组的成员,它仍然可以正常工作。我希望如果它是 Nothing 权限集的成员,它就无法读取该文件。

感谢您提供的任何见解。我可能遗漏了一个小细节。我想知道这是否与使用 Vista Home Basic 有关。

4

1 回答 1

0

您的应用程序可以在没有任何证书的情况下读取相关文件吗?

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

于 2009-09-01T16:34:39.843 回答