mirror of
https://github.com/oxen-io/session-android.git
synced 2025-01-01 12:47:43 +00:00
3999171377
1) At registration time, a client generates a random ID and transmits to the the server. 2) The server provides that registration ID to any client that requests a prekey. 3) Clients include that registration ID in any PreKeyWhisperMessage. 4) Clients include that registration ID in their sendMessage API call to the server. 5) The server verifies that the registration ID included in an API call is the same as the current registration ID for the destination device. Otherwise, it notifies the sender that their session is stale.
27 lines
729 B
Protocol Buffer
27 lines
729 B
Protocol Buffer
package textsecure;
|
|
|
|
option java_package = "org.whispersystems.textsecure.crypto.protocol";
|
|
option java_outer_classname = "WhisperProtos";
|
|
|
|
message WhisperMessage {
|
|
optional bytes ephemeralKey = 1;
|
|
optional uint32 counter = 2;
|
|
optional uint32 previousCounter = 3;
|
|
optional bytes ciphertext = 4;
|
|
}
|
|
|
|
message PreKeyWhisperMessage {
|
|
optional uint32 registrationId = 5;
|
|
optional uint32 preKeyId = 1;
|
|
optional bytes baseKey = 2;
|
|
optional bytes identityKey = 3;
|
|
optional bytes message = 4; // WhisperMessage
|
|
}
|
|
|
|
message KeyExchangeMessage {
|
|
optional uint32 id = 1;
|
|
optional bytes baseKey = 2;
|
|
optional bytes ephemeralKey = 3;
|
|
optional bytes identityKey = 4;
|
|
}
|