我試圖開發一個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