MMC证书在哪里管理“服务帐户”的导入证书?

问题描述:

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

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

如果我登录为服务帐户并从该标准用户帐户将证书导入到个人,那么该证书是由该服务找到的。

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

证书存储在HKLM的注册表中。例如,如果服务名称为MYSERVICE那么个人存储证书的位置:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\加密\ SERVICES \ MYSERVICE \ SystemCertificates \我\证书]

此MSDN页面有更多的细节: System Store Locations

我看不到私钥在哪里 - 也许在blob数据中。要从.NET访问此商店,我必须进行P/Invoke(参见here)。

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

呃。我从不使用服务帐户。在安装要由IIS使用的SSL时,我总是使用计算机帐户。你确定你需要使用服务帐户吗?如果是这样,你可能应该问服务器故障(http://serverfault.com/)的专业人士。