2012-07-02 201 views
10

我有一個WCF服務,它只在兩臺服務器之間使用。它永遠不會被公開使用。WCF自簽名證書在客戶端上不受信任

我希望我可以使用SSL與自簽名證書的安全性。

我使用IIS7創建了一個證書,使用IE和MMC(Personal,TrustedRoot,第三方& TrustedPeople)將它安裝在客戶機上。

我仍然無法從代碼或通過IE8訪問該服務,而不詢問證書。

從IE中我得到了通常的「這個網站的安全證書存在問題」。

從代碼中,我得到的錯誤:「無法建立與權威的SSL/TLS安全通道的信任關係」

這是爲什麼不工作?

回答

16

您確定您的自簽名證書位於將訪問您的WCF服務的客戶機上的受信任根證書頒發機構證書存儲區中嗎?請參閱下面的屏幕截圖,瞭解我的一臺Windows Vista計算機所信任的自簽名證書。

您是否確定您的證書是自簽名證書。在我的一個自簽名證書的末尾查看截圖。

enter image description here

enter image description here

enter image description here

更新信息:

退房this發佈有關如何使用一個名爲SelfSSL7創建包含自簽名證書的實用信息多個主機名稱。

這是另一個link,其中包含關於SelfSSL7.exe和下載信息的很好的信息。

+0

是的,所有的檢查都是... – baileyswalk

+1

證書的「CN」中包含的主機名是否與主機相匹配名稱在您的https://網址上使用?您可以轉儲或列出您創建的證書嗎?減去私鑰,我們不需要看到。 – HeatfanJohn

+4

除了來自@HeatfanJohn的評論之外,cert中的主機名必須與您在客戶端上的服務端點中放入的內容完全匹配 - 也就是說,它必須是AD域中的完全限定域名。當我在客戶端上使用服務器機器名時,我遇到了問題,而證書是使用全名發佈的。 –

0

它不起作用的原因是IE檢測到證書不是從有效的CA(證書頒發機構)創建的。自簽名證書比其他任何東西都更適合測試。如果你沒有被告知,那麼SSL就沒有多少意義了。

+0

我雖然安裝客戶機上的證書應該是r解決這個問題,不是嗎? – baileyswalk

+3

@erix信任證書應使警告消失。 – HeatfanJohn

+1

對我來說,在root中安裝cert同時滿足IE和Chrome,但WCF仍然不喜歡它 –

1

今天我有這個 - 但與IIS7。如果您使用IIS生成證書(inetmgr->選擇主節點,然後選擇服務器證書,請使用右邊的菜單選項來創建一個自我認證證書。'issued to'屬性是使用您機器的FQDN設置的 - 比如' mymachine.myintranet.copp.net'或其他

只要你從服務連接的URL的FQDN - 像'mymachine.myintranet.copp.net/myservice/service.svc'那麼錯誤就會發生。

如果您使用的是備用網址像一個IP地址,或本地主機,然後發生了錯誤。所以,上面有明顯被稱爲johnma他的網絡中的機器,那麼它的工作原理。

相關問題