【问题标题】:MMC console - certificate private key handlingMMC 控制台 - 证书私钥处理
【发布时间】:2012-06-04 09:26:32
【问题描述】:

我们有一个应用程序需要访问证书的私钥。我们还有一个设置证书的 Nightlybuild(使用 certmgr 从 pfx 文件导入它)。只要证书的设置和证书的访问在相同的登录 Windows 用户 (Windows7) 下运行,这真的很好。

现在,我们想引入一个测试(在 Nightlybuild 期间自动执行),另一个用户将调用需要访问证书私钥的程序,而我正在努力使用 MMC 控制台 -> 所有任务-> 管理私钥。

对我来说,我似乎可以更改“管理私钥”的安全设置中的任何内容,但它与证书的真实 ACL 没有任何关系。我可以将问题简化为以下手动步骤:

  1. User1 将证书导入“本地计算机/我的”(根目录中存在正确的 CA)
  2. User1 在 MMC 中选择证书,点击“Manage Private Keys”并添加具有完全控制权限的“Users”(组)和“User2”(用户)。
  3. 用户 1 注销
  4. User2 登录
  5. User2打开MMC,点击“Manage Private Keys” --> 报错,MMC控制台显示“Cannot find the certificate and private key for decrypt.”

虽然 User2 应该有权访问私钥。所以在我看来,MMC 中的 User1(User1 和 User2 都在 Administrators 组中)的设置没有任何意义,并且被访问私钥的 .NET API 忽略了?

有人知道为什么会这样吗?我可以如何说服 Windows 我们真的希望两个用户能够读取证书的私钥?

感谢您的帮助 迈克尔

【问题讨论】:

    标签: windows-7 certificate key acl mmc


    【解决方案1】:

    我刚刚遇到了同样的问题。我试图以未在系统上导入证书的用户身份使用代码签名证书。最初导入证书时,并没有导入它,因此可以导出私钥。

    我能够通过以下方式解决我们的问题:

    1. 从证书存储中删除现有证书
    2. 再次导入证书,同时确保它允许导出私钥
    3. 使用管理私钥设置权限,以便第二个用户可以访问私钥

    在这些步骤之后,我的第二个用户能够正确使用代码签名证书。

    【讨论】:

      猜你喜欢
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 2011-11-03
      • 2016-03-01
      • 2017-08-30
      • 1970-01-01
      相关资源
      最近更新 更多