我们有一个在框架2.0中运行并在IIS 6服务器中运行的Web asp.net应用程序,操作系统是Windows Server 2003.该Web应用程序正在起诉客户端证书,以便由Web服务进行身份验证。我们使用de user“Network Service”对应用程序池进行了非个性化。
问题是我们必须访问存储在机器密钥/我的存储中的证书的私钥。用户网络服务无法访问密钥。
我们使用winhttpcertcfg.exe工具为网络服务用户授予了权限,但结果是相同的。
当我们使用本地管理员对应用程序池进行非个性化时,结果是成功的。因此,我们认为问题是用户的特权。
如果有人可以提供一些相关信息,我们将非常感激。
提前致谢
答案 0 :(得分:2)
最后我们在许多不成功的结果之后解决了问题但是在完成时每个问题都有自己的解决方案。
我们的解决方案包括为本地计算机创建管理员帐户。之后我们使用此帐户登录并运行MMC / s命令。我们在LOCAL_MACHINE /我的商店中导入证书。
第二部分是从管理员组中删除用户,我们使用创建的用户为ASP.NET 2.0应用程序创建服务帐户,这样更好在以下网址http://msdn.microsoft.com/en-us/library/ms998297.aspx中解释。
祝你好运。答案 1 :(得分:1)
至于我,只有这个解决方案有效(IIS 6,Win 2003 Srv),但有一个问题...... 我的特殊帐户只有在我使用它的权限启动任何应用程序(“运行为...”)时才能从ASP.NET应用程序中读取证书。如果没有此操作,当我尝试使用我需要的证书发送http-request(WinHttpRequest)时会出现安全性错误。