为IIS应用程序池帐户安装客户端证书

8

情景:

  • 客户端在局域网上调用WebService A。 WebService A在一个名为“Network Service”的应用程序池下运行。
  • WebService A执行一些工作,准备调用WebService B。
  • WebService B需要客户端证书(*.cer)和SSL。
  • WebService A位于专用的Windows 2003服务器上。
  • 在开发环境中一切正常(但具有管理员权限的开发人员始终以本地身份登录(毫不意外!)。
  • 证书存储在磁盘上的C:\MyCertificates\位置。
  • 在Dev中使用以下代码片段成功地在运行时应用了证书:myWebService.ClientCertificates.Add(new X509Certificate.CreateFromCertFile(certPath));

问题: WebService A调用WebService B,返回的异常是:

请求失败,HTTP状态403:被禁止

这实际上意味着证书没有发送到WebService B的请求中。

我认为将此证书安装到浏览器中不是解决方案。 浏览器设置通常是每个用户的,我需要将证书提供给运行Web服务的用户,例如Network Service、System或IIS AppPool设置中的其他用户。

问题:如何授予位于指定目录位置的证书访问权限或关联到Network Service或其他非用户帐户?

1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接