簡體   English   中英

VS2010中的C#,使用WCF,分層證書和IIS6

[英]C# in VS2010, using WCF, Hierachical Certificates and IIS6

我們已經在VS 2010,C#和WCF中開發的應用程序中進行了大量工作。 我們使用傳輸作為安全模式,並在TransportSecurity屬性中將其設置為None和None。

我們在IIS6中托管該服務。 經過大量工作后,我們設法使用https使其工作。 我們使用的證書是使用selfssl.exe工具創建的自創建證書。 創建證書並將其存儲在“受信任的證書”列表中后,我們將其設置為站點中IIS中的服務器證書,並使用443端口在證書指紋和本地主機地址之間進行“綁定”。 httpcfg工具。

嗯,我們還使用了不推薦用於生產的著名代碼(我們知道),它可以驗證不是由有效證書頒發機構頒發的證書。 這一段代碼是我們從MSDN WCF動手練習中獲得的。 在這段代碼中,我們為它提供證書的CN = NAME,它可以正常工作。

好的,我們終於讓它工作了。 這一切都在開發中。 現在我們處於測試階段,他們同意使用啟用證書的代碼段。 問題在於,我們需要使用的證書在IIS中設置並設置為使用著名的代碼后,就無法使用。

我們得到的錯誤就是這個錯誤(僅顯示錯誤的第一部分,而不顯示堆棧跟蹤):

System.ServiceModel.Security.SecurityNegotiationException:無法為具有權限“ 172.30.224.46”的SSL / TLS安全通道建立信任關系。 ---> System.Net.WebException:基礎連接已關閉:無法建立SSL / TLS安全通道的信任關系。 ---> System.Security.Authentication.AuthenticationException:根據驗證過程,遠程證書無效。

新證書是由其自己的證書頒發機構頒發的,與我們自己生成的證書相比,它具有幾個差異,例如,“用法”屬性不同,或者例如,我們的證書具有“增強用法”屬性,沒錯

我們在證書中注意到的另一個巨大區別是,它們是證書層次結構的一部分,它們具有受信任的根證書,然后是中級證書頒發機構,並且要在服務器中使用的證書位於該中級證書之下。

是否需要特殊的配置來支持這種屬於層次結構的證書? 你們能告訴我們些什么? ....我們需要一些幫助:S

我們還進行了測試,以創建自簽名證書以及在其環境中進行設置所需的所有步驟,然后該應用程序正常運行。

感謝您的幫助和關注,

安德烈·岡薩雷斯(Andrey Gonzalez)

通常,當證書中存儲的服務器名稱與客戶端上用於引用服務器的主機名不同時,會出現此錯誤。

例如,您的服務器證書是為“ yourserver.com”頒發的,而您正嘗試僅使用“ yourserver”或其IP地址從客戶端進行訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM