2010-05-05 123 views
0

我们有一个运行在框架2.0中并托管在IIS 6服务器中的Web asp.net应用程序,操作系统是windows server 2003.该Web应用程序正在起诉一个客户端证书,以通过身份验证一个Web服务。我们用de用户“网络服务”非个性化了应用程序池。IIS 6私钥证书访问

问题是我们必须访问存储在机器密钥/存储器中的证书的私钥。用户网络服务无法访问密钥。

我们已经给使用winhttpcertcfg.exe工具的网络服务用户授予了权限,但结果是一样的。

当我们用本地管理员非个人化应用程序池时,结果是成功的。因此我们认为问题是用户的权限。

如果有人可以给我们提供一些信息,我们会很感激。

在此先感谢

回答

2

最后我们得到了解决该问题后,许多失败的结果,但在完成每个问题都有自己的解决方案。

我们的解决方案由为本地机器创建管理员帐户组成。之后,我们使用此帐户登录并运行MMC/s命令并运行。我们在LOCAL_MACHINE /我的商店中导入证书。

的第二部分是从我们用于与创建的用户,这是更好在以下URL http://msdn.microsoft.com/en-us/library/ms998297.aspx说明ASP.NET 2.0应用程序创建一个服务帐户管理员组中删除该用户。

祝你好运。

+0

对我来说,只有如果用户已经登录服务器,但是错误。请参阅:http://stackoverflow.com/questions/3936065/certificates-cannot-find-the-certificate-and-private-key-for-decryption-error-wh – Kiquenet 2010-11-12 16:05:23

+0

@gaizkile救了我几小时的工作谢谢 – Daveo 2012-01-19 22:11:39

1

对于我来说,只有这个解决方案可以工作(IIS 6,Win 2003 Srv),但有一个问题...... 我的特殊帐户只能在ASP.NET应用程序之前启动任何应用程序权利(“作为...运行”)。如果没有这个动作,当我尝试发送带有证书的http请求(WinHttpRequest)时,就会出现安全错误。