2014-02-25 182 views
0

我正在開發一個使用ADFS管理用戶和登錄的.NET Web應用程序。在我的個人開發機器和我們的測試環境中,一切正常。然而,發佈應用程序的目標生產服務器後,我發現了以下異常:摘要驗證失敗

[CryptographicException: Digest verification failed for Reference '#_ed85954d-e2b3-44a1-a455-f13b8eca5756'.] 
    System.IdentityModel.Reference.EnsureDigestValidityIfIdMatches(String id, Object resolvedXmlSource) +1124029 
    System.IdentityModel.StandardSignedInfo.EnsureDigestValidityIfIdMatches(String id, Object resolvedXmlSource) +92 
    System.IdentityModel.SignedXml.EnsureDigestValidity(String id, Object resolvedXmlSource) +33 
    System.IdentityModel.EnvelopedSignatureReader.OnEndOfRootElement() +240 
    System.IdentityModel.EnvelopedSignatureReader.Read() +107 
    System.Xml.XmlReader.ReadEndElement() +52 
    System.IdentityModel.Tokens.SamlSecurityTokenHandler.ReadAssertion(XmlReader reader) +1106 
    System.IdentityModel.Tokens.SamlSecurityTokenHandler.ReadToken(XmlReader reader) +57 
    System.IdentityModel.Tokens.SecurityTokenHandlerCollection.ReadToken(XmlReader reader) +114 
    System.IdentityModel.Services.TokenReceiver.ReadToken(String tokenXml, XmlDictionaryReaderQuotas readerQuotas, FederationConfiguration federationConfiguration) +351 
    System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase request) +387 
    System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +103571 
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165 

我試着打開WIF和WCF的日誌功能ADFS,但一無所獲的日誌興趣。

我意識到一個非常類似的問題已經創建here,但是我的問題似乎是由不同的東西引起的,因爲我沒有從數據庫傳遞索賠,只是從AD本身。

另一種可能性是this文章中描述的一種......但我沒有使用ISA服務器。如果別的東西正在改變答覆,我不知道如何找到答案。

我有點失去想法。有人可以幫我嗎?

回答

2

我想下面的最近XKCD漫畫至少部分是正確的:

Second

在谷歌搜索結果的第二頁,我來到this博客文章。事實證明,該解決方案是取消選中TMG中的ADFS機器的Apply link translation選項。

IFD配置的CRM服務器(它也依賴於這個ADFS)沒有問題地工作有點奇怪...