2011-05-26 60 views
-1

我正在嘗試通過Openfire服務器交換XMPP數據的兩個C#桌面客戶端之間實現xmpp聊天/協作。問題是我必須通過HTTPS保護這些客戶端和服務器之間的通信是否有特定的庫或策略這是最好的使用,以實現這一點。說實話,我在尋找一個地方開始在這裏很困難。XMPP - Openfire SSL加密 - 從哪裏開始?

編輯*確實只需要通過SSL或其他適當形式的加密來保護通信,而不是使用HTTPS協議進行通信。

這裏的真正任務是嘗試使用SSL將我的客戶端連接到Openfire。儘管在網絡上和網絡上都有論壇發佈,尤其是在Ignite Realtime的網站上,但我仍未找到關於如何正確配置openfire服務器和客戶端以確保此連接的明確說明。

+0

對不起,需要根據大腦的回答澄清。我並不是試圖將XMPP用作每個連接的每個連接,因爲從我所瞭解的不是XMPP的設計目的。我通過需要通過HTTPS連接的Openfire XMPP服務器進行連接 – pat8719 2011-05-26 20:53:45

+1

您是否真的需要HTTPS(和端口443)或者您只是在尋找加密?稍後請參閱此鏈接:http://community.igniterealtime.org/thread/32026 – 2011-05-27 02:11:22

+0

是的,實際上,SSL加密確實比我更需要HTTPS。 – pat8719 2011-05-27 13:19:02

回答

2

你應該看看Jinglelibjingle。我沒有使用過這些,但我知道你需要使用Jingle來進行點對點連接(XMPP通常使用服務器進行聊天)。 libjingle庫是C++,但可以使用P/Invoke從C#代碼調用。

根據您對Openfire的評論,您應該查看C#/ .NET的庫列表http://xmpp.org/xmpp-software/libraries/,以及http://www.ag-software.de/agsxmpp-sdk/中受歡迎的庫。這些是符合標準的庫,其中包含顯示如何連接到任何XMPP服務器的示例。除非您想使用XMPP服務器提供的特殊擴展,否則您應該可以開始使用這些擴展。如果你還在掙扎,那麼看看有關XMPPJabber(一位同事寫的那本)的O'Reilly書籍。

你有沒有考慮過爲此使用WCF,還是僅限於使用XMPP?有severalchatexamples可用。