首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

XMPP HTTP-BIND 认证交互的讯息流

2012-11-09 
XMPP HTTP-BIND 认证交互的消息流XMPP定义的BOSH规范(XEP 1024)是为了在HTTP协议上承载XMPP消息。下面是XEP

XMPP HTTP-BIND 认证交互的消息流
XMPP定义的BOSH规范(XEP 1024)是为了在HTTP协议上承载XMPP消息。下面是XEP 1024定义的非安全方式下的认证消息流。只有在 SSL (or TLS) HTTP连接保护下的消息才是安全的消息,否则为非安全的消息。XEP 1024定义了主键系列的方式保护非安全的消息,这种方案只能防御到不能修改消息内容的攻击者;如果需要彻底的保护消息,只能使用SSL或者TLS。为了清楚地截取交互过程,下面的流程基于非安全的方式。

主键系列生成算法:

        K(1) = hex(SHA-1(seed))
K(2) = hex(SHA-1(K(1)))
...
K(n) = hex(SHA-1(K(n-1)))

交互的XMPP消息流中 第一个消息包含newkey的属性,其值为第一个主键系列的值。
后续的客户端给服务器端发送的消息必须带上SID及key的值,每个key的值由前一个key的值计算而来。当循环用到最后一个key值
的时候,可以同时设置newkey的属性,开始新的一系列key值。
下面的交互过程从jwchat与openfire3.3.2的http-bind模块通信中截取。
  • <!---->presence><!---->body>??
  • 1 楼 tangdinghua 2007-11-26   我现在正在用JSJAC库连接OPENFIRE。。。


    不知道为什么,接的时候老是异常。 2 楼 shallon 2007-12-27   配置没对巴,要看是什么异常。

    热点排行