我试图开发一个XMPP“代理”,它将在标准的Jabber通信中。XMPP代理TLS加密
的架构将是这样的:
Pidgin ---> Proxy <--- eJabberD
|
v
Console
这个代理的目的是记录所有走在丝节。恕我直言,当您开发基于XMPP的解决方案时,这非常方便。
我正在使用EventMachine和Ruby进行此操作,主要问题是知道如何在TLS/SASL握手后对通信进行解密。
在启动之前,所有工作都很完美,服务器和客户端可以在它们之间进行通信,但是当握手开始时,虽然它可以工作,但不可能在所有通信都被加密时转储明文内容。
我不是TLS/SASL专家,所以我不知道哪个是最好的方法来做到这一点。我认为实现这一目标的一种方法应该是在握手中获取证书,并在通过代理时使用它来解密内容。
谢谢!
感谢您的回答。由于代理控制所有流量,我尝试从服务器响应中删除starttls标记,但是然后MD5(甚至PLAIN)身份验证不起作用。挑战不被服务器所接受。顺便说一句,我会尝试调查更多关于这个解决方案(不使用加密),因为它似乎更实惠。 – HyLian 2011-03-04 07:36:48