Windows MMC证书管理单元允许管理员使用“服务帐户”,但服务如何访问这些证书?
如果我使用“服务帐户”以管理员身份导入到Personal,并且我作为标准用户运行的服务使用System.Security.Cryptography.X509Certificates.X509Store在StoreLocation.CurrentUser(或StoreLocation.LocalMachine)中查找,则它不会找到证书。
如果我以服务帐户登录并从该标准用户帐户将证书导入Personal,则该服务会找到该证书。
管理单元将“Service account”的证书放在哪里,以及服务如何使用.NET类找到它?
答案 0 :(得分:3)
证书存储在HKLM下的注册表中。例如,如果服务名称是MYSERVICE,那么个人存储证书就在此处:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\加密\服务\ MYSERVICE \ SystemCertificates \我\证书]
此MSDN页面包含更多详细信息:System Store Locations
我没有看到私钥的位置 - 也许在blob数据中。要从.NET访问这个商店,我必须进行P / Invoke(参见here。)
我不打算使用“服务帐户”,所以我没有进一步了解。
答案 1 :(得分:0)
唉。我从不使用服务帐户。安装SSL时,我总是使用计算机帐户供IIS使用。您确定需要使用服务帐户吗?如果是这样,您可能应该向Server Fault(http://serverfault.com/)询问专业人员。