首页 > 解决方案 > 如何获取序列化密文消息的类型?

问题描述

我根据Signal 的文档使用libsignal-protocol-java在消息传递应用程序中实现端到端加密。

假设 Alice 向 Bob 发送一个(成对的)序列化密文消息。Bob 怎么知道如何反序列化它?他不是首先需要知道密文消息的类型吗?我的理解是,成对的密文消息可以是信号消息(WHISPER_TYPE)或预密钥信号消息(PREKEY_TYPE)。那么 Bob 怎么知道它是哪种类型呢?

Alice 是否也应该向 Bob 发送密文消息的类型(作为明文)?

或者 Bob 有没有其他方法可以检测到类型?例如,Bob 是否应该尝试将其反序列化为信号消息,如果失败,则尝试将其反序列化为预密钥信号消息?

标签: e2e-encryptionsignal-protocol

解决方案


在查看Signal Android的源代码后,我认为 Alice 应该也向 Bob 发送密文消息的类型(作为明文)。

在课堂上SignalServiceCipher


推荐阅读