2012-11-20 37 views
1

我在亞馬遜雲服務器上運行WCF服務。 有時,某些客戶端 - 這是長時間運行的進程,每5分鐘的服務,民意調查 - 出現以下異常:「無法爲SSL/TLS安全通道建立信任關係」使用有效證書

System.ServiceModel.Security.SecurityNegotiationException:無法 建立信任關係的SSL/TLS安全頻道 權威'myservicehost.com'。 ---> System.Net.WebException: 底層連接已關閉:無法建立SSL/TLS安全通道的信任關係 。 ---> System.Security.Authentication.AuthenticationException:根據驗證過程,遠程 證書無效。

這看起來像是SSL證書存在問題,但我找不到原因。證書由DigiCert頒發。

奇怪的是,始終在客戶端啓動時,WCF調用成功。然後,就像我寫的那樣,每隔5分鐘電話就重複一次。這工作正常,直到30分鐘和8小時之間的某個時間過去。從此它不再起作用,並且每次後續的呼叫都會發生上述異常。這個狀態可以保持幾天。

在一些極少數情況下,在2/3天后,再次運行一段時間,然後再次開始例外。

當我重新啓動客戶端進程時,在一段時間內再次罰款,直到上述問題重新開始。

在這個標題的SO有很多消息,但我沒有發現任何與我的特殊問題有關。在其他大多數情況下,例外總是發生,而不是以不規則的方式發生。所以任何人都可以幫助或試圖指出我的方向?

回答

0

最後經過長時間的研究,我找到了解決辦法。在我們的軟件相同的過程中的另一個模塊是在其沒有FTP請求並同時運行包含下面的代碼:

ServicePointManager.ServerCertificateValidationCallback = 
    new RemoteCertificateValidationCallback(myCertificateValidation); 

myCertificateValidation是一個回調方法做一個自定義的驗證。不幸的是,在我的情況下,它總是返回false。這導致了上述例外。由於FTP模塊一直沒有運行,錯誤很難找到。

相關問題