【问题标题】:Where does MMC Certificates snap-in import certificates for "Service account"?MMC 证书管理单元在哪里为“服务帐户”导入证书?
【发布时间】:2011-06-20 09:47:30
【问题描述】:

Windows MMC 证书管理单元允许管理员使用“服务帐户”,但服务如何访问这些证书?

如果我使用“服务帐户”以管理员身份导入到 Personal,并且以标准用户身份运行的服务使用 System.Security.Cryptography.X509Certificates.X509Store 在 StoreLocation.CurrentUser(或 StoreLocation.LocalMachine)中查找,它不会找到证书。

如果我以服务帐户的身份登录并从该标准用户帐户将证书导入个人,则服务会找到证书。

管理单元将“服务帐户”的证书放在哪里,服务如何使用 .NET 类找到它?

【问题讨论】:

    标签: .net windows certificate


    【解决方案1】:

    证书存储在 HKLM 下的注册表中。例如,如果服务名称是 MYSERVICE,则个人存储证书在此处:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Services\MYSERVICE\SystemCertificates\My\Certificates]

    此 MSDN 页面有更多详细信息:System Store Locations

    我看不到私钥保存在哪里——可能在 blob 数据中。要从 .NET 访问此商店,我必须 P/Invoke(参见here。)

    我不打算使用“服务帐户”,所以我没有进一步研究。

    【讨论】:

    • 我无法找到我希望在 CertMgr 下为服务帐户 (LocalService/NetworkService) 显示的证书,但是我注意到可以在此处找到服务帐户证书(可能取决于X509KeyStorageFlags 使用的值)使用 NetFx X509Store 类添加证书时:%SystemRoot%\ServiceProfiles\LocalService\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates
    【解决方案2】:

    呃。我从不使用服务帐户。在安装 IIS 使用的 SSL 时,我总是使用计算机帐户。您确定需要使用服务帐户吗?如果是这样,您可能应该询问 Server Fault (http://serverfault.com/) 的专家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 2019-11-25
      • 2013-02-10
      • 2014-09-05
      相关资源
      最近更新 更多