【问题标题】:IIS 6 Private Key certificate accessIIS 6 私钥证书访问
【发布时间】:2010-05-05 15:03:49
【问题描述】:

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

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

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

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

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

提前致谢

【问题讨论】:

    标签: iis-6 private-key cer


    【解决方案1】:

    在多次失败后,我们终于解决了这个问题,但最后每个问题都有自己的解决方案。

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

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

    祝你好运。

    【讨论】:

    【解决方案2】:

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

    【讨论】: