开发文档

MTProto 授权密钥与传输协议

理解授权密钥交换、字节序、消息封装与 TCP/WebSocket 传输,避免将协议样例当作可直接复用的秘密。

GetTGAPI 编辑团队更新于
文档解读核对日期

依据官方资料整理,由 GetTGAPI 独立维护。 文档目录与术语表 →

本页内容
  1. 样例用于核对,不用于复用随机数
  2. 封装与底层连接不同
  3. 实现建议

样例用于核对,不用于复用随机数

授权密钥建立包含随机数、服务端身份与 DH 参数检查。官方例子的中间值用于验证编码实现,不是可以放到生产环境重复使用的材料。字节序也需要按字段规则处理,不能整包统一反转。

封装与底层连接不同

Abridged、Intermediate、Padded intermediate 和 Full 是 MTProto 封装方案;TCP、WebSocket 等是传送方式。WebSocket 帧边界不等于 MTProto 消息边界。连接地址及端口要尊重服务端配置。

实现建议

优先采用成熟库。若研究编码,使用官方样例做离线向量校验,另测截断、拼包、无效长度与连接中断。设置缓冲区和内存上限,不能按未校验的网络长度直接分配内存。

协议安全检查失败时停止处理并保留脱敏原因,而不是退回不校验证书、跳过密钥检查或宽松解析来维持连接。