0

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

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

我们已使用 winhttpcertcfg.exe 工具为网络服务用户授予权限,但结果是相同的。

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

如果有人能给我们一些信息,我们将不胜感激。

提前致谢

4

2 回答 2

2

最后我们在许多不成功的结果后解决了这个问题,但最后每个问题都有自己的解决方案。

我们的解决方案包括为本地机器创建一个管理员帐户。之后,我们使用此帐户登录并运行 MMC /s 命令。我们在 LOCAL_MACHINE/My store 中导入证书

第二部分是从管理员组中删除用户我们使用创建的用户为 ASP.NET 2.0 应用程序创建一个服务帐户,以下 URL http://msdn.microsoft.com/en-对此进行了更好的解释我们/图书馆/ms998297.aspx

祝你好运。

于 2010-05-12T10:00:43.573 回答
1

对我来说,只有这个解决方案有效(IIS 6,Win 2003 Srv),但有一个问题......我的特殊帐户只有在我使用其权限启动任何应用程序之前才能从 ASP.NET 应用程序读取证书(“以...”)。如果没有此操作,当我尝试使用我需要的证书发送 http-request (WinHttpRequest) 时会出现安全错误。

于 2012-03-26T04:18:05.643 回答