2014-07-16 164 views
0

我正在使用Winforms客戶端連接到IIS中託管的WCF服務。 Winforms應用程序將供客戶下載並安裝在他們的電腦上。客戶必須使用他們的用戶名/密碼登錄到應用程序。我想要在客戶端應用程序和WCF之間啓用安全的HTTPS通信。提供這種功能的最佳做法是什麼?我應該使用客戶端證書還是僅使用服務器證書?任何輸入都非常感謝。 謝謝。服務器證書與客戶端證書

回答

1

你必須有一個服務器證書。

如果您想要更強大的身份驗證,您可以使用客戶端證書。有一個管理證書的開銷和可能的其他費用,但是:使用來自提供者的證書,自己生成它們,維護撤銷列表等等。

+0

感謝您的回覆。如果我選擇使用客戶端證書,應該事先在客戶的計算機上安裝它們,或者我們可以在安裝應用程序時安裝證書嗎?我們是否也需要爲每個客戶提供多個證書? – Vj87

+0

這可能有點複雜。基本答案是你不能,因爲他們需要有相應的私鑰。同時,如果您可以運行自己的CA並在應用程序拳頭開始時(或在安裝過程中)生成它們並進行一些身份檢查(例如,用戶遞交了一個祕密字符串,並且他們必須撥打特定的號碼並以某種方式驗證他們的身份,或通過短信向他們發送另一個祕密等等)。它可能會變得複雜。另一種選擇是檢查已建立的CA,看看他們是否有任何工具來幫助你處理這個用例。 – ziya

0

由於您已經使用密碼對用戶進行了身份驗證,因此無需客戶端證書身份驗證。爲確保通信安全,請使用自簽名服務器證書。如果客戶需要驗證他們連接到正確的服務器,那麼您需要從第三方CA那裏獲得簽名證書,比如verisign,這可能會花費您至少100美元。