2010-12-16 125 views
0

我想在IIS7中託管WCF服務。直到我指定一切正常在web.config文件中的以下內容:IIS7找不到X.509證書,儘管自託管WCF可以

<serviceCredentials> 
     <serviceCertificate findValue="MyCert" 
          storeLocation="CurrentUser" 
          storeName="My" 
          x509FindType="FindBySubjectName" /> 
    </serviceCredentials> 

然後我得到一個異常System.InvalidOperationException:使用下面的搜索條件找不到X.509證書:STORENAME「我」 ,StoreLocation'CurrentUser',FindType'FindBySubjectName',FindValue'MyCert'

順便說一句 - 我用這個相同的證書(存儲在相同的位置)與自託管WCF服務沒有任何問題。

回答

2

您可能選擇了錯誤的storeLocation。你嘗試過storeLocation =「LocalMachine」嗎?

如果這不起作用,那麼你需要給你的iis工作進程。我需要在iis6中託管WCF服務時使用Username和共享證書安全性來執行此操作。

+0

我需要將證書放入本地計算機的個人存儲。謝謝你們 – user437291 2010-12-17 19:47:03

2

這可能是因爲您的服務在IIS7中運行的身份無法訪問商店。通常這個標識是ApplicationPoolIdentity。

+1

這可能會有所幫助http://serverfault.com/questions/131046/how-to-grant-iis-7-5 - 獲取證書在證書店 – 2010-12-17 00:56:11

1

嘗試授予對應用程序池運行時的帳戶的證書私鑰的讀訪問權限。在證書MMC管理單元中,找到證書,右鍵單擊,管理私鑰...