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

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

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

如果我login为服务帐户,并从该标准用户帐户将证书导入到个人,则证书由服务find。

pipe理单元将“服务帐户”的证书放在哪里,以及服务如何使用.NET类find它?

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

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

此MSDN页面有更多详细信息: 系统商店位置

我没有看到私钥在哪里 – 也许在blob数据中。 要从.NET访问这个商店,我将不得不P / Invoke(参见这里) 。

我不打算使用“服务帐户”,所以我没有看得更远。

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