我们有一个运行在框架2.0中的Web应用程序,并托管在IIS6服务器上,操作系统是windows server 2003。web应用程序正在申请由web服务进行身份验证的客户端证书。我们已经使用用户“网络服务”对应用程序池进行了非个性化设置。
问题是当我们必须访问存储在机器密钥/我的存储器中的证书的私钥时。用户网络服务无法访问该密钥。
我们已经使用winhttpcertcfg.exe工具向网络服务用户授予了权限,但是结果是相同的。
当我们使用本地管理员对应用程序池进行非个性化设置时,结果是成功的。因此我们认为问题出在用户的特权上。
如果有人能给我们一些信息,我们将不胜感激。
提前感谢
发布于 2010-05-12 18:00:44
最后,在许多不成功的结果之后,我们终于解决了这个问题,但在结束时,每个问题都有自己的解决方案。
我们的解决方案包括为本地计算机创建管理员帐户的。之后,我们使用此帐户登录,并运行MMC /s命令。我们在LOCAL_MACHINE/My store中导入证书。
第二部分是从管理员组和中删除用户,我们使用创建的用户为ASP.NET 2.0应用程序创建一个服务帐户,这在下面的URL http://msdn.microsoft.com/en-us/library/ms998297.aspx中有更好的解释。
祝好运。
发布于 2012-03-26 12:18:06
对我来说,只有这个解决方案有效(IIS 6,Win 2003 Srv),但有一个问题...我的特殊帐户可以读取证书从ASP.NET应用程序,只有当我启动任何应用程序之前,它的权限(“运行方式...”)。如果没有此操作,当我尝试发送带有所需证书的http-request (WinHttpRequest)时,会出现安全错误。
https://stackoverflow.com/questions/2774382
复制相似问题