博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于server to server通信时dialback握手的问题
阅读量:4124 次
发布时间:2019-05-25

本文共 828 字,大约阅读时间需要 2 分钟。

我尝试让我编写的XMPP服务器能与其他服务器互通,下面是与GOOGLE
TALK互通时握手的数据:
[2006-6-22 1:22:04] 从64.233.166.129收到数据:
<stream:stream id="7D88221819EA3137"
xmlns:stream="" xmlns="jabber:server"
xmlns:db="jabber:server:dialback">
[2006-6-22 1:22:06] 向64.233.166.129发送数据:
<stream:stream xml:lang="zh-CN"
id="d25715a6-3eda-4708-8e6d-a03ecab0928e" xmlns="jabber:server"
xmlns:db="jabber:server:dialback"
xmlns:stream="">
[2006-6-22 1:22:08] 从64.233.166.129收到数据:
<db:result to="ywh.eicp.net"
from="gmail.com">CAESBxDkuuq8vyEaEG+nj6HGMryN/iDanf37ZHc=</db:result>
我使用的方式是让GOOGLE
TALK首先向我发起连接,然后我返回它一个ID,它再向我发送一个db:result。但这个db:result中的消息体“CAESBxDkuuq8vyE­aEG+nj6HGMryN/iDanf37ZHc=”是如何生成的呢?假如我主动向GOOGLE
TALK发起连接,那么我该根据什么生成这段字符串?
我阅读了JEP-0185中相关的内容,但发现实际情况和协议中说的并不一样。协议中说使用HMACSHA256算法生成这段文字,但这里显然不像是用HMAC­SHA256生成的。并且协议中还说生成时需要用一个大家知道的“sercet”作为KEY,但我该如何生成我的sercet呢?

转载地址:http://pjopi.baihongyu.com/

你可能感兴趣的文章
MySQL主从复制不一致的原因以及解决方法
查看>>
RedisTemplate的key默认序列化器问题
查看>>
序列化与自定义序列化
查看>>
ThreadLocal
查看>>
从Executor接口设计看设计模式之最少知识法则
查看>>
OKhttp之Call接口
查看>>
application/x-www-form-urlencoded、multipart/form-data、text/plain
查看>>
关于Content-Length
查看>>
WebRequest post读取源码
查看>>
使用TcpClient可避免HttpWebRequest的常见错误
查看>>
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>
Single Number II --出现一次的数(重)
查看>>
Valid Parentheses --括号匹配
查看>>