syntax = "proto2"; package signal; option java_package = "org.signal.libsignal.metadata"; option java_outer_classname = "SignalProtos"; message ServerCertificate { message Certificate { optional uint32 id = 1; optional bytes key = 2; } optional bytes certificate = 1; optional bytes signature = 2; } message SenderCertificate { optional string sender = 1; optional uint32 senderDevice = 2; } message UnidentifiedSenderMessage { message Message { enum Type { PREKEY_MESSAGE = 1; MESSAGE = 2; FALLBACK_MESSAGE = 3; } optional Type type = 1; optional SenderCertificate senderCertificate = 2; optional bytes content = 3; } optional bytes ephemeralPublic = 1; optional bytes encryptedStatic = 2; optional bytes encryptedMessage = 3; }