我的公司開發了一個.NET Web服務和一個使用該Web服務的客戶端DLL。 web服務通過ssl託管在我們的服務器上,證書由GoDaddy提供並簽名。我們有一些託管環境中的客戶端在客戶端DLL嘗試訪問我們的Web服務時收到以下錯誤消息。WebException無法建立SSL/TLS安全通道的信任關係
System.Net.WebException基礎連接已關閉:無法爲SSL/TLS安全通道的信任關係。
我們的修復方法是讓他們在服務器上打開IE,這對很多託管服務都是一項挑戰,並轉到WSDL URL。 IE然後用安全警報對話框提示他們。它表示認證日期有效,並且有效的名稱與該頁面的名稱相匹配,但由您沒有選擇信任的公司頒發。當他們單擊是繼續時,客戶端DLL可以成功連接到Web服務並正常運行。
沒有人有任何想法,爲什麼GoDaddy的不會一直在那裏有效的發佈者列表?我們運行的所有服務器都有GoDaddy作爲有效的權限。我猜,出於安全原因,他們已經卸載了GoDaddy的權限,但並不完全相信沒有其他潛在的問題。
不幸的是,我沒有多少運氣試圖在本地重新創建。如果我進入Internet選項並刪除GoDaddy權限並啓動我們的服務,那麼ssl工作得很好。我回到發佈商列表中,GoDaddy得到了迴歸。所以我的第二個問題是,你是如何擺脫GoDaddy,以便我可以得到一個無效的證書警告?
好的,最後一個問題。有沒有代碼的方式,我可以告訴Web服務忽略無效的證書。我見過一些關於WCF而不是以前的Web服務進行編程的文章。
是解決所嚴格按照要求的安全證書的DNS?即:'https:// wsdl.companydomain.local'或SSL證書中指定的任何內容。 – 2010-12-20 18:45:28
我相信是的。我在這裏驗證了我們的證書,http://www.sslshopper.com/ssl-checker.html,並且一切都檢查完好。 – 2010-12-20 18:53:34
您一次提問的次數太多。本地計算機和服務器計算機上的受信任根證書列表是一種謹慎保護的資源,不會經常更新。任何人都可以創建新的根證書。 GoDaddy可能已經創建了不在Microsoft通訊組列表中的其他根證書,並且您的SSL證書由其中一個簽名。也有可能用於簽署SSL證書的根證書已被入侵併置於「不信任」列表中,這意味着您的SSL證書不可信。 – dthorpe 2010-12-20 19:05:25