MMC证书控制台从哪里导入“服务账户”的证书?

4
Windows MMC证书插件允许管理员使用“服务帐户”,但是如何让服务访问这些证书呢?如果我使用“服务帐户”作为管理员导入到个人文件夹中,我的服务以标准用户身份在StoreLocation.CurrentUser(或StoreLocation.LocalMachine)中使用System.Security.Cryptography.X509Certificates.X509Store查找,它将无法找到该证书。相反,如果我作为服务帐户登录并从该标准用户帐户导入证书到个人文件夹中,则服务可以找到该证书。那么,该插件将“服务帐户”的证书放在哪里,并且服务如何使用.NET类找到它呢?
2个回答

3
证书存储在注册表的HKLM下。例如,如果服务名称为MYSERVICE,则个人存储证书在此处:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Services\MYSERVICE\SystemCertificates\My\Certificates
此MSDN页面有更多详细信息:System Store Locations 我看不到私钥所在的位置 - 可能在blob数据中。要从.NET访问此存储,我需要P/Invoke(参见here)。
我不打算使用“服务帐户”,因此不会进一步查找。

我在为服务账户(LocalService/NetworkService)查找证书时遇到了困难,因为我期望这些证书会出现在CertMgr下,但是我注意到当使用NetFx的X509Store类添加证书时,服务账户证书可以在这里找到(可能取决于使用的X509KeyStorageFlags值): %SystemRoot%\ServiceProfiles\LocalService\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates - Thracx

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接