-1

我正在尝试在两个通过 Openfire 服务器交换 XMPP 数据的 C# 桌面客户端之间实现 xmpp 聊天/协作。问题是我必须通过 HTTPS 保护这些客户端和服务器之间的通信是否有特定的库或策略最好用于实现此目的。老实说,我什至很难找到从这里开始的地方。

编辑* 真的只需要通过 SSL 或其他适当形式的加密来保护通信,而不是使用 HTTPS 协议进行通信。

这里真正的任务是尝试使用 SSL 将我的客户端连接到 Openfire。虽然网络上到处都有论坛帖子,特别是在 Ignite Realtime 的网站上,但我还没有找到关于如何正确配置 openfire 服务器和客户端以保护此连接的明确解释。

4

2 回答 2

2

你应该看看Jinglelibjingle。我没有使用过这些,但我知道您需要使用 Jingle 进行点对点连接(XMPP 最常使用服务器进行聊天)。libjingle 库是 C++,但可以使用 P/Invoke 从 C# 代码调用。

根据您对 Openfire 的评论,您应该查看http://xmpp.org/xmpp-software/libraries/上的 C#/.NET 库列表,以及http://www.ag-software上的流行库列表。 de/agsxmpp-sdk/。这些是符合标准的库,其中包括显示如何连接到任何 XMPP 服务器的示例。除非您想使用 XMPP 服务器可用的特殊扩展,否则您应该能够开始使用这些。如果您仍在苦苦挣扎,请查看 O'Reilly 关于XMPPJabber的书籍(一位同事写的)

您是否考虑过为此使用 WCF,或者您是否仅限于使用 XMPP?有几个 聊天 示例可用。

于 2011-05-26T20:51:12.890 回答
0

这是来自Jabber-Net的相关代码,它使用system.net.security.SslStream

m_stream = m_sslStream = new SslStream(m_stream, 
                                       false,
                                       ValidateServerCertificate, 
                                       ChooseClientCertificate);
于 2011-05-27T21:31:30.817 回答