2016-11-17 31 views
0

我們有一個在Windows上開發的C \ S應用程序。開發語言是C \ C++並使用Winsock(TCP)庫。現在基本功能已經完成。由於服務器端工作在互聯網上,我們必須確保數據的安全。在網上搜索後,我們發現SSL可以提供幫助。並且對CodeProject上的一篇文章:CSslSocket - SSL/TLS enabled CSocket,它展示瞭如何使用Windows Schannel中實現了MFC的CSocket的SSLC++使用SSL來確保Windows上的Winsock TCP數據安全性

我也注意到了實施需要一個證書。對於我們的應用程序,我們沒有證書

  1. 我們是否需要申請證書以及如何申請?或者在我們的案例中使用任何簡單的解決方案來實現SSL(我們希望使用Windows SSPI,而不是其他開源庫,如OpenSSL)。
  2. 除SSL之外,還有其他常見的解決方案來確保TCP套接字數據的安全嗎? 謝謝!
+0

沒有'C/C++'這樣的語言。非此即彼。 – EJP

回答

0

你不嚴格需要證書,但你應該使用一個,至少在服務器端,所以客戶端可以驗證它們沒有連接到不正確的服務器,像一個MITM攻擊。證書通常不在客戶端使用,儘管它們可以是,如果服務器想要驗證客戶端是他們說的那樣。

是的,除SSL/TLS外還有其他選項。例如,WinSock Secure Socket Extensions。或者你可以使用任何你想要的加密引擎/庫來手動加密/解密套接字數據。 SSL/TLS不僅僅是加密,它是一個完整的雙向通信協議,並且在大多數平臺上得到廣泛支持,所以你應該使用它應該是

+0

謝謝! 是的,服務器端應該使用證書。但我不知道使用哪一個。請幫忙! – rywang

+0

有許多廉價/商業SSL證書提供商可用。或者您可以使用*自簽名證書(如果您不需要付費證書提供的更嚴格的安全保證)。如果你環顧四周,有關於這個話題的大量信息。 –