2012-03-19 19 views
1

我必須編寫一個應用程序,該應用程序使用Microsoft API在客戶端和服務器之間實現安全連接。 谷歌給了我很多的結果,我有一個很大的混亂 - 需要有人讓我有些爲了在我的腦海:在C++中使用SSPI實現安全連接 - 澄清一些術語

問題:

  1. 是什麼SSPI接口?什麼是Schannel.dll庫?什麼是差異? (我看到我可以包含「SSPI.h」和「Schannel.h」和「security32.h」 - 我真的需要哪個頭文件?)
  2. 如何找到一個真正簡單的示例,創建安全套接字?

  3. 在我開始之前,您是否有一些準則需要了解?

如果您能幫到,我將非常感激。

+0

客戶端和服務器...協議的任何具體的選擇呢? – user1055604 2012-03-19 17:34:14

+0

該協議是TLS – RRR 2012-03-19 17:56:14

回答

3

SSPI允許應用程序使用計算機或網絡上可用的各種安全模型,而無需更改與安全系統的接口。

爲了解釋,它允許您使用具有不同身份驗證或驗證機制的單個API集,從而隱藏複雜性。

關於第二個問題,看看這個:Creating a Secure Connection Using Schannel與相關的代碼示例here.

+0

謝謝!因此,我最好使用SSPI而不是schannel? SSPI接口包裝schanel接口?如果是這樣,你有我的例子,展示如何使用sspi接口實現TLS連接?非常感謝你! – RRR 2012-03-20 09:23:53

+0

好的 - 我看到上面的鏈接也顯示了SSPI的實現。所以我只需要補充說明schannel和sspi之間的區別 - 謝謝。 – RRR 2012-03-20 10:18:39

+0

SSPI提供SChannel實現的接口,用於在兩個端點之間建立SSL/TLS連接。此外,閱讀[this](http://www.codeproject.com/Articles/2642/SSL-TLS-client-server-for-NET-and-SSL-tunnelling)文章中給出的解釋。希望這回答你的問題。 – user1055604 2012-03-20 12:12:59