summaryrefslogtreecommitdiffstats
path: root/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.proto
blob: def080b44e19c0fbd7f6edf7a81d46ae3fdee8e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// From https://github.com/signalapp/libsignal-protocol-c/blob/master/protobuf/WhisperTextProtocol.proto
syntax = "proto2";
package textsecure;

message SignalMessage {
  optional bytes  ratchetKey      = 1;
  optional uint32 counter         = 2;
  optional uint32 previousCounter = 3;
  optional bytes  ciphertext      = 4;
}

message PreKeySignalMessage {
  optional uint32 registrationId = 5;
  optional uint32 preKeyId       = 1;
  optional uint32 signedPreKeyId = 6;
  optional bytes  baseKey        = 2;
  optional bytes  identityKey    = 3;
  optional bytes  message        = 4; // SignalMessage
}

message KeyExchangeMessage {
  optional uint32 id               = 1;
  optional bytes  baseKey          = 2;
  optional bytes  ratchetKey       = 3;
  optional bytes  identityKey      = 4;
  optional bytes  baseKeySignature = 5;
}

message SenderKeyMessage {
  optional uint32 id         = 1;
  optional uint32 iteration  = 2;
  optional bytes  ciphertext = 3;
}

message SenderKeyDistributionMessage {
  optional uint32 id         = 1;
  optional uint32 iteration  = 2;
  optional bytes  chainKey   = 3;
  optional bytes  signingKey = 4;
}

message DeviceConsistencyCodeMessage {
  optional uint32 generation = 1;
  optional bytes  signature  = 2;
}