2010-05-06 139 views
2

我試圖訪問WCF Web服務,即使用雙向SSL加密。當我嘗試撥打該服務時,我收到一個SSL證書:否客戶端證書密鑰傳出

System.ServiceModel.Security.SecurityNegotiationException:無法爲具有「XXX.xx」權限的SSL/TLS建立安全通道。 ---> System.Net.WebException:請求被中止:無法創建SSL/TLS安全通道。

我已經嘗試激活線鯊魚,看看發送到服務器和從服務器發送什麼:我看到一個客戶端hello和一個服務器你好。但是,沒有客戶端響應服務器問候。我期待一個

「證書。客戶端密鑰交換。更改密碼。加密握手消息」

包,但沒有發送。我認爲這是由服務器發送的證書有問題,即不知何故我的客戶端服務器不會信任它。

這是我已經嘗試過的: 我已經通過適當的權限創建了證書,儘管我可能在證書請求中犯了錯誤而不知道它。 我已經將兩個根證書添加到:受信任的根證書,受信任的發佈者和受信任的人員。我還將客戶端證書添加到受信任的人員。我的同事成功地建立了一個win 2008服務器上的連接(我使用的是2003年,因爲它有一些奇怪的原因是必要的 - 不要問)。我看不出我們方法有什麼不同,所以我有點失落。

任何幫助將不勝感激。

回答

2

我解決了這個問題:

它變成了應用程序池並沒有對證書的私鑰的讀取權限。我們將應用程序池更改爲本地系統(我相信)並解決了問題。