2009-06-23 113 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設置中的任何內容)。

問題:如何將訪問或關聯授予處於網絡服務或其他非用戶帳戶的指定目錄位置的證書?

回答