2009-06-23 111 views
5

场景:的IIS应用程序池帐户安装客户端证书

  • 客户端调用LAN WebService的一个。 WebService A在标识为“网络服务”的应用程序池下运行。
  • WebService A做了一些工作,准备调用WebService B.
  • WebService B需要客户端证书(* .cer)和SSL。
  • WebService A位于专用Windows 2003服务器上。
  • 一切都在开发环境中工作,因为它应该(但具有管理员权限的开发者总是在本地登录(无惊喜!)。
  • 该证书在C:\MyCertificates\
  • 证书在被应用在磁盘上存储运行时成功地开发这个片段:myWebService.ClientCertificates.Add(new X509Certificate.CreateFromCertFile(certPath));

问题: WebService的一个呼吁的WebService B,并且返回的例外是:

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

这确实意味着,证书不是在请求中的WebService B.发送

我的假设下,在安装这个证书进入浏览器不是解决方案。浏览器设置通常是每个用户,我需要将证书授予其Web服务运行所依据的用户。 (例如网络服务,系统或IIS AppPool设置中的任何内容)。

问题:如何将访问或关联授予处于网络服务或其他非用户帐户的指定目录位置的证书?

回答