2013-10-29 31 views
4

我有一個客戶端網站,當點擊一個按鈕時,它會調用一個wcf Web服務。客戶端站點是http,而Web服務的URL是https並需要證書。我有一個有效的簽名私鑰證書,我正在使用。WCF:無法建立具有權限錯誤的SSL/TLS安全通道的信任關係

一切工作正常我的本地;但是,在部署到Windows 2003服務器運行IIS 6後,我得到下面的錯誤,當調用Web服務:

無法建立與權威「主機的網址」爲SSL/TLS安全通道 信任關係

我將該證書添加到商店,使用相同的web.config在本地工作。我已驗證該Web服務調用找到並設置了有效的X509Certificate。

不知道我缺少什麼,我不想重寫servicepiont管理器,每次都返回true。

任何想法或我可能看到的東西?

+0

可能重複的[WCF:無法爲SSL/TLS安全通道建立信任關係](http://stackoverflow.com/questions/1742938/wcf-could-not-establish-trust-relationship-for -the-ssl-tls-secure-channel-with) – jww

回答

10

發現問題。

Web服務主機使用的根證書不受我的服務器信任。 (不知道爲什麼它在我的本地機器,而不是我的服務器)。我通過在服務器的Web瀏覽器中打開主機的URL來查看他們的wsdl並得到安全警告,我發現了這一點。

補救措施:去發行人的網站下載他們的根證書,並添加到我的信任的根證書頒發機構。

Bam,它現在有效。

+2

如果您一直在使用Fiddler調試服務調用並使用它的證書攔截模式,則可能會得到此信息。只要刪除提琴手的選項攔截,你應該很好 – Ruskin

1

如果它是私人證書,它必須添加到客戶端和服務器,因爲沒有客戶端可以驗證其根密鑰。

+0

https web服務調用是獨立於客戶端應用程序的。我可能應該更清楚一點,用戶單擊一個按鈕,調用本地Web服務,然後在後面的代碼中調用https外部Web服務。 – Popo

相關問題