2010-09-03 101 views
0

我有一段代碼可以在VS.C#項目中工作,但是當此代碼是Sharepoint中WebPart的一部分時,它會拋出一個錯誤。底層連接已關閉:無法建立SSL/TLS安全通道的信任關係

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; 
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(validateUrl); 
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 

驗證url是HTTPS-uri。

在SharePoint中,當我添加的第一個規則,當我去的網頁拋出一個異常,並說

對象引用不設置到對象的實例。

我不完全知道它拋出這個異常的位置,因爲這段代碼被Try {} Catch(Exception e)阻塞包圍,但那個不會被觸發。所以這有點奇怪。

如果我讓出了第一條規則,它拋出一個異常(在正確的捕捉塊):

基礎連接已關閉:無法爲SSL/TLS安全通道的信任關係。

如果我放出VS.C#項目中的第一條規則,就會得到同樣的異常。

任何想法?或其他解決方案?這顯然不是最安全的方法。

回答

1

通過在「受信任的根證書頒發機構」存儲中添加服務器證書(通過MMC.exe),問題得以解決,無需接受所有證書。

相關問題