2011-11-04 124 views
1

我有錯誤「X.509證書...鏈構建失敗。使用的證書具有無法驗證的信任鏈。替換證書或更改certificateValidationMode。由於吊銷服務器處於脫機狀態,吊銷功能無法檢查吊銷。「IIS ApplicationPoolIdentity和對證書撤銷服務器的訪問

我得到這個錯誤,當我運行我的wcf服務在IIS中與「ApplicationPoolIdentity」下的一個應用程序池。我已將「ApplicationPoolIdentity」帳戶(iis apppool *)專用密鑰訪問權限授予商店中的證書。它在「網絡服務」下工作正常。證書由我們的一個域控制器在內部頒發。我認爲微軟希望網站現在在「ApplicationPoolIdentity」下運行。有沒有辦法給「ApplicationPoolIdentity」的正確權限,以避免此錯誤,或者我應該只使用「網絡服務」,而不是?

回答

3

當您將WireShark這樣的網絡嗅探器放在線上時,您可能會注意到,您的應用程序池所運行的身份不允許轉到證書中的撤銷參數中作爲URL提及的位置鏈。正如您所描述的,應用程序池在NETWORK服務帳戶下運行時,不會發生此問題。

正如記錄給您的錯誤所述,您還可以更改revocationMode="NoCheck"以禁用WCF檢查已吊銷的證書。詳情請閱讀http://msdn.microsoft.com/en-us/library/aa347699.aspx。但是你只應該這樣做,要麼是安全的封閉環境要麼是爲了開發目的。

+0

做了revocationMode =「NoCheck」肯定奏效。我想我會使用「網絡服務」,因爲我想檢查撤銷。 – skeletank

+0

@kroonwijk:任何關於如何讓ApplicationPoolIdentity訪問執行撤銷檢查的線索?要在不使用網絡服務作爲應用程序池的登錄帳戶的情況下執行吊銷檢查 –

+0

@skeletank:我不會考慮授予ApplicationPoolIdentity訪問權限以在您的網絡上執行吊銷檢查。相反,請在您的網絡上生成一個指定的服務帳戶,以運行此特定應用程序池並授予對證書吊銷url的訪問權限。 – kroonwijk