2009-07-30 64 views
2

我們有一個基於客戶端/服務器的架構,其中許多客戶端(用Java編寫)連接到服務器(使用自定義協議),所有通信都使用SSL。該服務器曾經是用Delphi編寫的,並使用OpenSSL進行SSL支持。我們在.Net 3.5 SP1中完成了對服務器的完全重寫,並通過TcpClient套接字連接使用SslStream使SSL正常工作。如何在.Net服務器中不加密地支持SSL?

問題是可以將客戶端配置爲不在SSL連接中使用任何加密,從而提高安全環境(例如LAN)中的性能。我們還沒有找到一種方法來告訴SslStream它應該支持「不加密」選項,所以我們的新服務器只是在SSL握手期間拒絕客戶端。 App.Config中是否有一些設置可以設置爲允許?或者,也許我可以通過反射獲得一些隱藏的設置?

任何幫助將不勝感激,因爲它是不幸的是我們沒有選擇去禁用當前在現場的數千個客戶端的設置。另外,我們的服務器還向經常在同一安全網絡上的其他服務器發送多個GB值的數據(使用WCF)。在這種情況下是否有簡單的方法來關閉加密?

非常感謝您的時間!

回答

4

SslStream對象從運行它的系統的註冊表中獲取其允許設置(例如,協議,散列,密碼)的列表。默認情況下,null密碼套件不在註冊表中,因此不允許。然而,支持,但必須手動添加。我從來沒有添加過,只能刪除,所以我不確定如何去做,但下面的MSDN文章應該讓你朝着正確的方向前進。

http://msdn.microsoft.com/en-us/library/aa374757%28VS.85%29.aspx

+0

非常感謝您的信息!我正走向Tech-Ed(南非)的大門,但我會在下週末嘗試一下。 – 2009-07-31 14:42:06

相關問題