如何知道“networking服务”帐户正在LOCAL_MACHINE存储中查找证书?

我有一个ASP.NET webservice使用客户端证书与另一个webservice通信。 证书位于LOCAL_MACHINE商店中。 我通过winhttpcertcfg.exe授予了“networking服务”对证书的访问权限。 我知道我正在授予权限,因为我把所有的东西都放到了开发箱上,而且权限是让它工作的步骤。

所以我想弄清楚我的开发箱和我的生产箱之间有什么不同。 他们都有IIS 6.0。 他们都有我的web服务安装。 他们都在本地机器商店有“networking服务”权限相同的证书。 当证书被select时,他们都能够通过IE浏览器看到其他的web服务。 他们都能够使用CURRENT_USER中的证书通过非IIS应用程序使用其他web服务。 我已经通过视觉了解了我所知道的每个IIS设置,而且它们看起来都是一样的。

那么,是否有一些设置可能导致“networking服务”在LOCAL_MACHINE存储区以外的地方查找证书? 还是有什么我可以忽略?

您是否尝试了此过程来为networking服务帐户安装证书? 它涉及临时将networking服务帐户添加到pipe理员组。

你也可以看看这个人的解决scheme来获得证书在IIS 6.0中的工作

我尝试了由Jack B Nimble列出的将证书添加到networking服务帐户的程序,但这似乎没有帮助。

我终于解决了我的问题1.在IIS中,转到我的网站下的目录安全选项卡2.单击“服务器证书”3.通过向导导入我的证书

我认为这一步是多余的,因为它处理服务器端证书。 即使证书已经在LOCAL_MACHINE中,上面的过程也会导致“networking服务”看到它。 即使在使用向导“删除”证书后也是如此。

这是在我的开发箱(实验)上完成的一个步骤,但不是在我的生产箱上。

“networking服务”现在肯定使用LOCAL_MACHINE证书,因为切换权限也切换我的web服务的通信能力。